たとえば、テーブルがあるとします。
Business(BusinessID, Lattitude, Longitude)
もちろん、すべてに索引が付けられています。また、100万件のレコードがあります
たとえば、106,5に最も近いビジネスを検索したい場合、どうすればよいでしょうか。
私が行った場合
SELECT *
FROM Business
WHERE (Some formula to compute distance here) < 2000
たとえば、または私が行う場合
SELECT *
FROM Business
TOP 20
理論的には、コンピューターはすべてのビジネスの距離を計算する必要がありますが、実際には、緯度と経度が特定の範囲内にあり、計算する必要があるビジネスのみが計算されます。
たとえば、PhPやSQLでやりたいことはどのようにしたらよいでしょうか。
これまでの答えに感謝しています。私はmysqlを使用していますが、それらには明らかな解決策よりも効率的なものはありません。MySQL空間には、距離計算機能もありません。