假设我们有一个生日小丑数据库,其中包含一个地理列,该列包含每个小丑所在的点的二进制表示(根据小丑家庭住址的纬度和经度生成)。地理列上有一个地理索引。
一家大型国际软件公司的 CEO 向我们发送了一份 CSV 文件,其中包含他们在美国的所有员工以及他们的街道地址,包括纬度和经度;我们必须生成一份报告,说明每个员工在 15 英里范围内有多少生日小丑。
我们的 where 条件可能如下所示:
where
(ClownLocationInBinary).STDistance( geography::Point(EES.lat, EES.lng, 4326) ) < radius
或像这样:
where
geography::Point(EES.lat, EES.lng, 4326).STDistance(ClownLocationInBinary) < radius
两个 where 子句都会利用我们在 BirthdayClowns 表上创建的索引吗?或者他们中的一个使用它而不是另一个?如果是这样,哪个是哪个?