2
我正在使用AdventureWorks2012數據庫。查詢優化器偏好索引掃描查找索引
我創建了下面的指數Sales.SalesOrderHeader
表
create index i1 on
sales.salesorderheader(purchaseordernumber,salespersonid)
include(orderdate,shipdate)
where purchaseordernumber is not null
and salespersonid is not null
當我運行下面的查詢:
select
PurchaseOrderNumber,
OrderDate,
ShipDate,
SalesPErsonId
from sales.salesorderheader
where purchaseordernumber like '%po5%' and salespersonid is not null
我想到一個索引查找沒有索引掃描,因爲所有這些都列部分查詢已經是索引的一部分。
我在某處讀到,如果查詢優化器認爲索引掃描比索引查找便宜,那麼我們將索引掃描。 但是,我不明白爲什麼在這種情況下發生。我們根本沒有查詢。
有人可以解釋我嗎。
非常感謝澄清。當我刪除第一個%時,它開始工作。 –