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

come ottimizzare un database di geolocalizzazione in mysql per la ricerca/query della distanza euclidea

Avrai difficoltà a ottimizzare per quel tipo di query. Un'opzione migliore sarebbe calcolare un riquadro di delimitazione da (x,y) coordinate e delta passato. Quindi cerca tutte le posizioni in cui le coordinate cadono in quella casella. Quella query sarebbe molto più semplice e sarebbe in grado di utilizzare tutti gli indici che potresti avere sui campi xey.

Ovviamente i risultati di quella query non sono così esatti poiché è un riquadro di delimitazione piuttosto che un cerchio. Se desideri risultati migliori, puoi prendere i risultati dalla query del riquadro di delimitazione, quindi utilizzare il metodo euclideo più lento per filtrare quelli che non rientrano nel cerchio.