2017-04-25 53 views
0

有誰能告訴我爲什麼第一個查詢執行全表掃描,而第二個使用索引?帶有空格的SQL Server NVARCHAR索引

enter image description here

該表具有上(合約類型,MaterialType)非唯一的,非聚集索引。該表是非規範化的,這就是爲什麼我使用nvarchars而不是外鍵,並且我想保持這種方式。

+4

可能是因爲它的估計,第一個將匹配了很多行,所以它必須做更多的查找比在第二種情況下。 –

+1

我同意@MartinSmith。看看錶格中的數據。有多少行匹配'僅限價格'和'價格'? –

+0

這是真的,但爲什麼它會做全表掃描?爲什麼不簡單地使用索引 - 會不會更快? –

回答