मान लें कि हमारे पास इस तरह एक तालिका परिभाषा है:
CREATE TABLE MyTab (
ID INT IDENTITY(1,1) CONSTRAINT PK_MyTab_ID PRIMARY KEY
,GroupByColumn NVARCHAR(10) NOT NULL
,WhereColumn DATETIME NULL
)
और इस तरह एक फ़िल्टर्ड नॉन-क्लस्टर्ड इंडेक्स:
CREATE NONCLUSTERED INDEX IX_MyTab_GroupByColumn ON MyTab
(GroupByColumn)
WHERE (WhereColumn IS NULL)
इस क्वेरी के लिए यह इंडेक्स "कवरिंग" क्यों नहीं है:
SELECT
GroupByColumn
,COUNT(*)
FROM MyTab
WHERE WhereColumn IS NULL
GROUP BY GroupByColumn
मुझे यह निष्पादन योजना मिल रही है:
KeyLookup कहाँ के लिए है, जहां NULL प्रेडिकेट है।
यहाँ योजना है: https://www.brentozar.com/pastetheplan/?id=SJcbLHxO7