sql >> Databasteknik >  >> RDS >> Mysql

Hur använder jag longitud/latitudvärden effektivt i Mysql?

Att fokusera på (a):

Tidigare har jag förberäknat delar, lagrat lat, long, xaxis, yaxis och zxais, där x, y och z definieras som:

xaxis = cos(radians(Lat)) * cos(radians(Lon))
yaxis = cos(radians(Lat)) * sin(radians(Lon))
zaxis = sin(radians(Lat))

Avståndet kan sedan beräknas med SQL löst som (acos( xaxis * $xaxis + yaxis * $yaxis + zaxis * $zaxis ) * 6367.0 / 1.852) (där de som börjar med en $ är förberäknade för startpunkten i fråga på samma sätt som ovan)

Förberäkning på detta sätt skjuter den relativt dyra triggen till en engångshändelse och förenklar frågan.



  1. Hur ansluter man Postgres till localhost-servern med pgAdmin på Ubuntu?

  2. Standardradordning i SELECT-fråga - SQL Server 2008 vs SQL 2012

  3. Ett annat sätt att förbättra SQL-frågan för att undvika förening?

  4. SQLite-kommandon