1

クエリを使用して地理的距離を取得しようとしていますが、非常に遅いようです (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

4

0 に答える 0