Efficiently Finding Nearby Locations
When dealing with a significant number of locations stored in a database, finding the nearest ones to a given point can become a computationally expensive task. To address this issue, consider leveraging the Haversine formula directly in your SQL query, as demonstrated by Google's tutorial on retrieving the nearest locations in a MySQL database:
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;
By integrating the distance calculation into your SQL query, you can minimize the number of operations performed in your PHP script. This approach offloads the intensive computation to the database itself, resulting in a faster and more efficient way to fetch the nearby locations.
The above is the detailed content of How to Efficiently Find Nearby Locations in a Database?. For more information, please follow other related articles on the PHP Chinese website!