ホームページ >データベース >mysql チュートリアル >データベース内の近くの場所を効率的に見つけるにはどうすればよいですか?
近くの場所を効率的に見つける
データベースに保存されているかなりの数の場所を扱う場合、特定の地点に最も近い場所を見つけると、計算コストのかかるタスクになります。この問題に対処するには、MySQL データベース内の最も近い場所を取得する Google のチュートリアルで実証されているように、SQL クエリで Haversine 式を直接利用することを検討してください。
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;
距離計算を SQL クエリに統合することで、 PHP スクリプトで実行される操作の数を最小限に抑えることができます。このアプローチにより、集中的な計算がデータベース自体にオフロードされ、その結果、近くの場所を取得するためのより高速かつ効率的な方法が得られます。
以上がデータベース内の近くの場所を効率的に見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。