Closed eigenein closed 11 years ago
Индексы используются явно неэффективно:
sqlite> explain query plan select * from my_scan_results where latitude > 0 and latitude < 100 and longitude > 0 and latitude < 100;
0|0|0|SEARCH TABLE my_scan_results USING INDEX my_scan_results_latitude_idx (latitude>? AND latitude<?) (~6944 rows)
Вот такой индекс уже семантически лучше, но все еще неэффективен:
sqlite> create index mylocation_idx on my_scan_results (latitude, longitude);
sqlite> explain query plan select * from my_scan_results where latitude > 0 and latitude < 100 and longitude > 0 and longitude < 100;
0|0|0|SEARCH TABLE my_scan_results USING INDEX mylocation_idx (latitude>? AND latitude<?) (~6944 rows)
Подозреваю, что таски на выборку сетей работают нереально долго и не прерываются (то есть, подозрение на долго выполняющийся запрос).