ロケーションのテーブルを含む Microsoft SQL Server データベースがあります。各場所には、住所と緯度と経度の座標があります。
私のアプリケーションでは、ユーザーが郵便番号を入力すると、最寄りの場所のリストが返されます。これが私のアプローチです。a) zipcode DB を使用して、緯度、経度で郵便番号を検索します (これが中心点です)。b) このような検索を実行します
SELECT Position_ID, distance(pos_lon,pos_lat,zip_lon,zip_lat) dist
FROM Positions
ORDER BY dist
「距離」は、2点間の距離を計算する関数です。
問題は、ロケーション DB が増加するにつれて、これらの検索を実行する時間が長くなり始めていることです。
より良いアプローチはありますか?