私は、半径15マイル以内のテーブル内のすべての場所を取得するクエリを実行しています。クエリには最大15秒かかります。SQL Server、LatおよびLonクエリ
SELECT *
FROM rmiukpostcodes
WHERE 3963.191 * ACOS((SIN(PI()*50.8320711166062/180)*SIN(PI()*latitude/180))+(COS(PI()*50.8320711166062/180)*cos(PI()*latitude/180)*COS(PI()*longitude/180-PI()*-0.207548227491786/180))) < = 5
スピードアップのためにできることはありますか?
どのバージョンのSQL Serverですか? –
SQL Server 2008を使用している場合、ネイティブlat/lonサポートがあり、より高速になる可能性があります。 "SPATIAL DATA SUPPORT"を検索http://msdn.microsoft.com/en-us/magazine/dd434647.aspx –
緯度と経度の列のインデックス? –