L'indice migliore per la tua query è un indice composito su (country, state, latitude, longitude)
(country
e state
potrebbe essere scambiato). MySQL ha una buona documentazione sugli indici a più colonne, che è qui
.
Fondamentalmente, latitude
e longitude
non sono particolarmente selettivi individualmente. Sfortunatamente, l'indice B-tree standard supporta solo una disuguaglianza e la tua query ne ha due.
In realtà, se si desidera l'elaborazione GIS, è necessario utilizzare un'estensione spaziale per MySQL.