2017-04-25 57 views
0

有谁能告诉我为什么第一个查询执行全表扫描,而第二个使用索引?带有空格的SQL Server NVARCHAR索引

enter image description here

该表具有上(合约类型,MaterialType)非唯一的,非聚集索引。该表是非规范化的,这就是为什么我使用nvarchars而不是外键,并且我想保持这种方式。

+4

可能是因为它的估计,第一个将匹配了很多行,所以它必须做更多的查找比在第二种情况下。 –

+1

我同意@MartinSmith。看看表格中的数据。有多少行匹配'仅限价格'和'价格'? –

+0

这是真的,但为什么它会做全表扫描?为什么不简单地使用索引 - 会不会更快? –

回答