說,我有一個索引定義如下:SQL Server 2008中 - 過濾索引
CREATE NONCLUSTERED INDEX [IX_Marker] ON [dbo].[Marker]
(
[Run] ASC,
[EquipmentID] ASC,
[ReadTime] DESC
)
INCLUDE ([Sequence])
WHERE ([ReadTime]>'07/01/2011')
在什麼情況下會在SQL Server計劃生成器選擇該指數?例如,假設我有以下查詢:
Select * From Marker Where ReadTime > '3/1/2011'
我假設索引不會在這種情況下使用?但是如果我將Where子句更改爲'8/1/2011',它會被使用嗎?
不正確。在Where子句後面添加OPTION(RECOMPILE),它將被使用。 –
你真的確定你試過嗎?我嘗試過使用各種過濾索引,它從來沒有工作。 –
是的,我已經嘗試過,它的工作原理。 –