sql >> Databasteknik >  >> RDS >> Mysql

Hur snabbar man på Haversine-formeln i mysql?

varför använder du ...på grund av det faktum att din fråga inte använder aggregerad funktion så att du kan filtrera med var (men där du inte använder måste du repetera koden) och för prestanda med hjälp av där undvik en fullständig genomsökning för att se resultat för att ha utvärdering

  $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. PHP - Medan / Else-fel?

  2. få ett antal unika värden utan att separera värden som hör till samma värdeblock

  3. Hur man installerar phpMyAdmin på hanterade värdkonton

  4. Använder AT TIME ZONE för att fixa en gammal rapport