我正在尝试使用查询来获取地理距离,但它似乎很慢(在 15k 条记录的表上大约需要 10 秒)。有没有办法改善这一点?
select count(contact_id) from matcher_contact
WHERE (GEOGRAPHY::STGeomFromText('POINT(-71.4536835 42.3240042)', 4326).STDistance(Geography) <= 25000)
这是执行计划的图像。似乎大部分时间都花在了where子句中的过滤上
附加信息:
matcher_Contact 有大约 15k 条记录
地理是栏目之一
以下是地理列中值的一些示例:
0xE6100000010C5B4645F707B14440E0DAE44B036252C0 0xE6100000010C4E93BEB5B8854440885AE4E83B8552C0 0xE6100000010CB5368DEDB51045400AAB67F71A0554C0 0xE6100000010CA3A5E14A2CBE454008DA2E7EE49F51C0