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

Come ottimizzare la query SQL con il calcolo della distanza in base a longitudine e latitudine?

Ecco alcune idee, alcune delle quali potrebbero non essere applicabili a seconda della tua situazione esatta.

  1. Potresti eseguire la conversione di latitudine e longitudine in radianti e memorizzarla anche nella riga. Ciò consentirebbe di risparmiare il costo di tali calcoli (in realtà il costo verrebbe accumulato una volta durante la memorizzazione dei dati).
  2. Se la tua tabella è molto grande, puoi utilizzare un semplice calcolo della distanza lineare anziché la formula di Haversince per limitare i risultati a cui applichi la formula di Haversince.
  3. Se nella tabella sono presenti altri dati che potrebbero fungere da buon primo filtro (paese/regione/ecc.), è possibile applicarli prima.
  4. Puoi riordinare i tuoi join in modo che vengano applicati dopo il filtro della distanza in modo da non sostenere il costo del join su dati non idonei.