निहारना, फ़िल्टर किया गया index. प्रलेखन से (जोर मेरा):
<ब्लॉकक्वॉट>फ़िल्टर्ड इंडेक्स एक अनुकूलित गैर-क्लस्टर इंडेक्स है जो विशेष रूप से उन प्रश्नों को कवर करने के लिए उपयुक्त है जो डेटा के एक अच्छी तरह से परिभाषित सबसेट से चुनते हैं। यह तालिका में पंक्तियों के एक हिस्से को अनुक्रमित करने के लिए विधेय फ़िल्टर का उपयोग करता है। एक अच्छी तरह से डिज़ाइन किया गया फ़िल्टर्ड इंडेक्स क्वेरी प्रदर्शन में सुधार कर सकता है और साथ ही फुल-टेबल इंडेक्स की तुलना में इंडेक्स रखरखाव और भंडारण लागत को कम कर सकता है।
और यहां एक फ़िल्टर विधेय के साथ एक अद्वितीय अनुक्रमणिका को संयोजित करने का एक उदाहरण दिया गया है:
create unique index MyIndex
on MyTable(ID)
where RecordStatus = 1;
यह अनिवार्य रूप से ID
. की विशिष्टता को लागू करता है जब RecordStatus
है 1
।
उस अनुक्रमणिका के निर्माण के बाद, एक अद्वितीयता उल्लंघन एक त्रुटि उत्पन्न करेगा:
<ब्लॉकक्वॉट>
Msg 2601, Level 14, State 1, Line 13
ऑब्जेक्ट 'dbo.MyTable' में अद्वितीय इंडेक्स 'MyIndex' के साथ डुप्लीकेट की रो को इन्सर्ट नहीं किया जा सकता। डुप्लीकेट कुंजी मान (9999) है।
<उप>नोट:फ़िल्टर किए गए इंडेक्स को SQL Server 2008 में पेश किया गया था। SQL सर्वर के पुराने संस्करणों के लिए, कृपया यह उत्तर देखें।