![]() |
1
4
这取决于数据的分布,现在你只有2个可能的值1和0……所以除非你有99%的数据是一个值,否则你的选择性会很差,然后它必须扫描整个索引来找到所有的正值或负值 编辑…..这里是发生的,你得到一个表扫描
|--表扫描(对象:([master].[dbo].[Customers]), 其中:(CONVERT(bit,CASE WHEN[master].[dbo].[Customers].[Balance]>($0.0000) 则(1)ELSE(0)END,0)=[@1])) 看看这个
-- (对象:([master].[dbo].[Customers].[ix_test]),其中:(CONVERT(bit,
|-- 索引查找 (对象:([master].[dbo].[Customers].[ix\u test]),SEEK:([master].[dbo].[Customers].[Balance]>转换\u(money,[@1],0))顺序(向前) |