与えられた座標からある程度の距離内にある場所を見つけようとしています。約32kレコードのテーブルでは、クエリに約2秒かかります。これは遅すぎます。
論理的なクラスター化されたインデックススキャンを実行しています。すべての場所の距離を計算する必要があります。ただし、これほど小さいデータセットよりも高速であると思います。空間インデックスを定義しましたが、使用されていません。強制するとクエリが失敗します。
ほとんどの時間(〜86%)は、距離を計算するフィルターに費やされます-それで、私はそれを最適化する方法を探しています、そして私はここでいくつかの助けが必要です。
私が使用しているクエリは次のとおりです。
SELECT Name
FROM Venue
WHERE (Coordinates.STDistance(geography::STPointFromText('POINT(-113.512245 51.498212)', 4326)) / 1000) <= 100