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

Bagaimana cara mengoptimalkan kueri SQL dengan menghitung jarak berdasarkan garis bujur dan garis lintang?

Berikut adalah beberapa ide, beberapa di antaranya mungkin tidak berlaku tergantung pada situasi Anda yang sebenarnya.

  1. Anda bisa melakukan konversi lintang dan bujur ke radian dan menyimpannya di baris juga. Ini akan menghemat biaya perhitungan tersebut (sebenarnya biaya tersebut akan dikenakan satu kali saat menyimpan data).
  2. Jika tabel Anda sangat besar, Anda bisa menggunakan perhitungan jarak linier sederhana daripada rumus Haversence untuk membatasi hasil yang Anda terapkan rumus Haversence.
  3. Jika Anda memiliki data lain dalam tabel yang akan berfungsi sebagai filter pertama yang baik (negara/wilayah/dll.), Anda dapat menerapkannya terlebih dahulu.
  4. Anda dapat mengurutkan ulang gabungan agar diterapkan setelah filter jarak sehingga Anda tidak dikenakan biaya gabungan pada data yang tidak memenuhi syarat.


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

  2. Bagaimana cara mendeteksi bahwa transaksi telah dimulai?

  3. Koneksi JDBC- Class.forName vs Class.forName().newInstance?

  4. hibernasi peta java Kesalahan panjang ke MySQL BIGINT

  5. Pengumuman MySQL 5.6 EOL