Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara memanfaatkan nilai bujur/lintang secara efisien di Mysql?

Untuk fokus pada (a):

Di masa lalu, saya telah menghitung bagian sebelumnya, menyimpan lat, long, xaxis, yaxis dan zxais, di mana x, y &z didefinisikan sebagai:

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

Jarak kemudian dapat dihitung menggunakan SQL secara longgar seperti (acos( xaxis * $xaxis + yaxis * $yaxis + zaxis * $zaxis ) * 6367.0 / 1.852) (di mana yang dimulai dengan $ dihitung sebelumnya untuk titik awal yang dimaksud dengan cara yang sama seperti di atas)

Pra-komputasi dengan cara ini mendorong trigonometri yang relatif mahal ke peristiwa satu kali, dan menyederhanakan kueri.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL Conditional SELECT di SELECT

  2. Bagaimana mengambil mysqldump dengan UTF8?

  3. Apakah mysql banyak sisipan dalam satu kueri atomik?

  4. Kesalahan kolom tidak diketahui dalam pernyataan COUNT MySQL ini?

  5. Bagaimana cara memperbaiki Kode Status Server:302 Ditemukan oleh SQL Inject Me Firefox Addon