आप नहीं कर सकते हैं सूचकांक एसक्यूएल सर्वर 2000 में एक सा क्षेत्र, के रूप में समय में पुस्तकें ऑनलाइन में संकेत दिया गया था:
बिट
पूर्णांक डेटा प्रकार 1, 0, या नल।
टिप्पणियां के प्रकार बिट
कॉलम उन पर अनुक्रमित नहीं कर सकते हैं।
हाँ, यदि आप पंक्तियों की केवल एक मुट्ठी भर है, लाखों लोगों के बाहर, एक सूचकांक में मदद मिलेगी। लेकिन आप स्तंभ एक tinyint
बनाने की जरूरत है अगर आप इस मामले में यह करना चाहते हैं।
नोट: एंटरप्राइज़ प्रबंधक आप थोड़ा स्तंभ पर एक सूचकांक बनाने नहीं दूँगा। आप आप फिर भी मैन्युअल सा स्तंभ पर एक सूचकांक बना सकते हैं चाहते हैं:
CREATE INDEX IX_Users_IsActiveUsername ON Users
(
IsActive,
Username
)
लेकिन SQL Server 2000 वास्तव में ऐसा सूचकांक का उपयोग नहीं होगा - एक प्रश्न जहां सूचकांक एक आदर्श उम्मीदवार होगा, जैसे चल रहा है:
SELECT TOP 1 Username
FROM Users
WHERE IsActive = 0
एसक्यूएल सर्वर 2000 इसके बजाय एक टेबल स्कैन करेगा, जैसा कि इंडेक्स भी मौजूद नहीं है। यदि आप कॉलम को एक छोटे से SQL Server 2000 में बदलते हैं तो एक इंडेक्स खोज करेगा। इसके अलावा, निम्नलिखित गैर कवर क्वेरी:
SELECT TOP 1 *
FROM Users
WHERE IsActive = 0
यह एक सूचकांक की तलाश, किसी बुकमार्क देखने के बाद प्रदर्शन करेंगे।
SQL सर्वर 2005 में बिट कॉलम पर अनुक्रमणिका के लिए सीमित समर्थन है।उदाहरण के लिए:
SELECT TOP 1 Username
FROM Users
WHERE IsActive = 0
इंडेक्स कवरेज इंडेक्स के माध्यम से खोज करेगा। लेकिन गैर कवर मामला:
SELECT TOP 1 *
FROM Users
WHERE IsActive = 0
एक सूचकांक का कारण नहीं बनेगा एक बुकमार्क देखने के बाद चाहते हैं, यह एक मेज स्कैन (या क्लस्टर सूचकांक स्कैन) प्रदर्शन करेंगे, बल्कि सूचकांक प्रदर्शन की तुलना में एक बुकमार्क देखने के बाद की तलाश ।
प्रयोग और प्रत्यक्ष अवलोकन द्वारा सत्यापित।
यदि आपने इसे पढ़ा नहीं है, तो जेसन मैसी ने हाल ही में एक लेख लिखा था जिसने इस विषय पर चर्चा की थी। http://statisticsio.com/Home/tabid/36/articleType/ArticleView/articleId/302/Never-Index-a-BIT.aspx संपादित करें: नया आलेख स्थान - http://sqlserverpedia.com/blog/sql-server -ब्लॉगर्स/कभी-इंडेक्स-ए-बिट – Jeff
अपने आप पर, न कि इसके परिणामस्वरूप बहुत कम चयनकता होती है। एक यौगिक सूचकांक के हिस्से के रूप में। काफी संभवतः लेकिन अन्य समानता कॉलम के बाद ही। –
क्या यह एक आम प्रश्न है? रिकॉर्ड्स के "मुट्ठी भर" की तलाश करते समय यह लायक हो सकता है लेकिन अन्य पंक्तियों पर आपको बहुत मदद नहीं करेगा।क्या डेटा की पहचान करने के अन्य तरीके हैं? –