Mysql
 sql >> Database >  >> RDS >> Mysql

Perché MySQL non utilizza indici ottimali

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.