我读过一篇文章说:
(x-min,y-min) 和 (x-max,y-max) 坐标确定边界框的位置和尺寸。边界框之外的空间被视为编号为 0 的单个单元格。
我认为这意味着索引“外部”的所有内容实际上都被索引在一个特殊的地方,所以如果我这样做:
SELECT * FROM GeometryTable WHERE @MyShape.STContains(GeometryColumn)
where@MyShape
完全在边界框之外,它应该只检查边界框之外的东西(所以它仍然使用索引)。
但后来,文章说:
只有在完全位于边界框内的对象上计算的操作才能受益于空间索引。
这似乎是相反的——如果@MyShape
在边界框之外,它将进行全表扫描。
它是哪一个?