Der beste Index für Ihre Abfrage ist ein zusammengesetzter Index für (country, state, latitude, longitude)
(country
und state
könnte getauscht werden). MySQL verfügt über eine gute Dokumentation zu mehrspaltigen Indizes, nämlich hier
.
Im Grunde latitude
und longitude
sind einzeln nicht besonders wählerisch. Leider unterstützt der Standard-B-Tree-Index nur eine Ungleichung, und Ihre Abfrage hat zwei.
Wenn Sie eine GIS-Verarbeitung wünschen, sollten Sie eigentlich eine räumliche Erweiterung für MySQL verwenden.