Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak efektywnie wykorzystać wartości długości/szerokości geograficznej w Mysql?

Aby skupić się na (a):

W przeszłości wstępnie obliczyłem części, przechowując łaty, długie, xaxis, yaxis i zxais, gdzie x, y &z są zdefiniowane jako:

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

Odległość można następnie obliczyć za pomocą SQL luźno jak (acos( xaxis * $xaxis + yaxis * $yaxis + zaxis * $zaxis ) * 6367.0 / 1.852) (gdzie te zaczynające się od $ są wstępnie obliczone dla danego punktu początkowego w taki sam sposób jak powyżej)

Obliczenia wstępne w ten sposób przenoszą stosunkowo kosztowny wyzwalacz do jednorazowego zdarzenia i upraszczają zapytanie.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sugerowany sposób uruchamiania wielu instrukcji sql w Pythonie?

  2. Czy myślniki i spacje można traktować tak samo w SQL?

  3. Dlaczego Hibernate/JDBC/MySQL zrywa połączenia po mniej więcej jednym dniu?

  4. Drukuj liczby pierwsze za pomocą zapytania SQL

  5. PHP PDO:zestaw znaków, nazwy zestawów?