Maison >base de données >tutoriel mysql >Comment trouver efficacement des emplacements à proximité dans une base de données ?
Rechercher efficacement des emplacements à proximité
Lorsque vous traitez un nombre important d'emplacements stockés dans une base de données, trouver les plus proches d'un point donné peut devenir une tâche coûteuse en termes de calcul. Pour résoudre ce problème, pensez à exploiter la formule Haversine directement dans votre requête SQL, comme le démontre le tutoriel de Google sur la récupération des emplacements les plus proches dans une base de données MySQL :
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 intégrant le calcul de distance dans votre requête SQL, vous pouvez minimiser le nombre d'opérations effectuées dans votre script PHP. Cette approche décharge le calcul intensif sur la base de données elle-même, ce qui permet d'obtenir un moyen plus rapide et plus efficace de récupérer les emplacements à proximité.
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!