クエリを使用して地理的距離を取得しようとしていますが、非常に遅いようです (15,000 レコードのテーブルで約 10 秒かかります)。これを改善する方法はありますか?
select count(contact_id) from matcher_contact
WHERE (GEOGRAPHY::STGeomFromText('POINT(-71.4536835 42.3240042)', 4326).STDistance(Geography) <= 25000)
そして、これが実行計画のイメージです。ほとんどの時間は where 句でのフィルタリングに費やされているようです
追加情報:
matcher_Contact には約 15k のレコードがあります
地理は列の 1 つです
Geography 列の値の例を次に示します。
0xE6100000010C5B4645F707B14440E0DAE44B036252C0 0xE6100000010C4E93BEB5B8854440885AE4E83B8552C0 0xE6100000010CB5368DEDB51045400AAB67F71A0554C0 0xE6100000010CA3A5E14A2CBE454008DA2E7EE49F51C0