위치 근접 검색을 위한 거리 계산 최적화
문제:
PHP 스크립트가 거리를 계산합니다. Haversine 공식을 사용하여 데이터베이스의 특정 위치와 수많은 사업장 위치 사이를 연결합니다. 그러나 데이터베이스 크기(5,000개 기업)가 증가함에 따라 성능에 대한 우려가 커지고 있습니다.
해결책: 데이터베이스 기반 거리 계산 활용
획기적인 개선 검색 효율성을 높이려면 Haversine 공식을 직접 통합하는 데이터베이스 쿼리를 사용하는 것이 좋습니다. 이 접근 방식은 모든 비즈니스 데이터를 검색하고 PHP 스크립트에서 거리 계산을 수행할 필요성을 우회합니다. 방법은 다음과 같습니다.
MySQL의 HAVING 절을 사용하여 결과 집합에 거리 필터를 적용할 수 있습니다.
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 데이터베이스에서 이 계산을 수행하면 추가 처리를 위해 PHP 스크립트로 전송해야 하는 데이터의 양이 크게 줄어듭니다. 이 접근 방식은 특히 대규모 데이터 세트의 성능을 향상시킵니다.
위 내용은 대규모 데이터베이스를 사용하여 PHP에서 위치 근접 검색 성능을 어떻게 최적화할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!