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

Bagaimana cara mempercepat rumus Haversine di mysql?

mengapa Anda menggunakan HAVING ...karena fakta bahwa kueri Anda tidak menggunakan fungsi agregat sehingga Anda dapat memfilter menggunakan di mana (tetapi di mana tidak menggunakan Anda harus mengulangi kodenya) dan untuk kinerja menggunakan di mana menghindari pemindaian penuh untuk reaise hasil evaluasi

  $query = $mysqli->query("SELECT postcode, (
        6371 * acos (
        cos ( radians('$latitude') )
        * cos( radians( lat ) )
        * cos( radians( lng ) - radians('$longitude') )
        + sin ( radians('$latitude') )
        * sin( radians( lat ) )
      )
  ) AS distance
  FROM postcodetabel
  WHERE    6371 * acos (
        cos ( radians('$latitude') )
        * cos( radians( lat ) )
        * cos( radians( lng ) - radians('$longitude') )
        + sin ( radians('$latitude') )
        * sin( radians( lat ) ) )< 12
  ORDER BY distance ASC");



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Perintah Administrasi Basis Data Dasar MySQL – Bagian I

  2. Pesan item di MySQL dengan daftar tetap?

  3. Pengantar Sederhana untuk Menggunakan MySQL di Terminal Linux

  4. php:cara tercepat untuk menghasilkan angka 5 digit yang belum ada di kolom db MySQL (dengan atribut unik)

  5. Apakah ada kemampuan ANY_VALUE untuk mysql 5.6?