我正在尝试使用查询获取地理距离,但它似乎非常慢(在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