Ho un tabella dove inserisco valori che mi rappresentano la latitudine e la longitudine di un utente che effettuerò quasi sempre query per vedere gli elementi vicini e quindi query del tipo:
...
WHERE lat BETWEEN @my_lat - @dlat
AND @my_lat + @dlat
AND lon BETWEEN @my_lon - @dlon
AND @my_lon + @dlon
AND .....
Che indice mi conviene creare su queste due colonne della tabella?
Uno comulativo:
ALTER TABLE `geonames`
ADD INDEX `i_geonames_lan_lon` (`lan,lon`);
o 2 separati?
ALTER TABLE `geonames`
ADD INDEX `i_geonames_lan` (`lan`);
ALTER TABLE `geonames`
ADD INDEX `i_geonames_lon` (`lon`);

Rispondi quotando