Maison  >  Article  >  base de données  >  Comment trouver efficacement les emplacements les plus proches dans une base de données SQL ?

Comment trouver efficacement les emplacements les plus proches dans une base de données SQL ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-08 22:24:02706parcourir

How to Efficiently Find Closest Locations in a SQL Database?

Rechercher efficacement les emplacements les plus proches d'un emplacement donné

Pour identifier efficacement les emplacements les plus proches d'une coordonnée spécifiée, envisagez d'utiliser la formule Haversine dans votre requête SQL. Reportez-vous au didacticiel de Google sur la récupération d'emplacements à proximité à l'aide de MySQL.

Voici un exemple d'instruction SQL :

SELECT id, ( 3959 * acos( cos( radians(37) ) * cos( radians( lat ) )
  * cos( radians( lng ) - radians(-122) ) + sin( radians(37) )
  * sin( radians( lat ) ) ) ) AS distance
FROM markers
HAVING distance < 25
ORDER BY distance LIMIT 0 , 20;

En utilisant la formule Haversine dans la base de données, vous éliminez le besoin de charger toutes les entreprises dans votre script PHP. Cela améliore considérablement les performances, en particulier lorsque vous travaillez avec de grands ensembles de données comme vos 5 000 entreprises.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn