जब एक स्तंभ है कि अद्वितीय (लेकिन तालिका के प्राथमिक कुंजी), होना करने के लिए एसक्यूएल सर्वर आइए मुझे कुछ विकल्पों का चयन जा रहा है पर एक सूचकांक बनाने:SQL सर्वर में "अनुक्रमणिका" या "बाधा" के रूप में UNIQUE अनुक्रमणिका बनाने के बीच क्या अंतर है?
1) मैं इसे एक बाधा होने के लिए चुन सकते हैं या एक सूचकांक।
मुझे लगता है कि इसका मतलब यह है कि यदि मैं इसे बाधा के रूप में सेट करता हूं, तो यह पूछताछ करते समय इसका उपयोग नहीं करेगा, केवल लिखते समय। हालांकि, एकमात्र कुशल तरीका मैं SQL सर्वर के लिए उस बाधा को लागू करने के लिए सोच सकता हूं वास्तव में एक सूचकांक बना रहा है। इस विकल्प के लिए उपयोग क्या है?
2) इसके अलावा, अगर मैं इसे "इंडेक्स" के रूप में सेट करता हूं, तो यह मुझे निर्दिष्ट करता है कि इसे डुप्लिकेट कुंजी को अनदेखा करना चाहिए। यह मेरे लिए सबसे परेशान है ...
मुझे लगता है कि इसका मतलब बाधा के विपरीत है। इसका शायद अर्थ है "पूछताछ करते समय इसका इस्तेमाल करें, लेकिन लिखते समय भी जांच न करें"।
लेकिन फिर मैं इसे अद्वितीय के रूप में क्यों सेट करूंगा?
मुझे लगता है कि एसक्यूएल सर्वर कुछ अनुकूलन कर सकता है, लेकिन मैं इसे बेहतर समझना चाहता हूं।
क्या किसी को पता है कि इन विकल्पों के साथ वास्तव में SQL सर्वर क्या करता है?
इंडेक्स को अद्वितीय बनाने के लिए उपयोग केस क्या है, लेकिन डुप्लिकेट कुंजी को अनदेखा करें?
नोट: यह एसक्यूएल सर्वर के लिए है 2000
संपादित करें: के अनुसार जो आपने कहा है, हालांकि ... अगर मैं एक बाधा बना सकते हैं, यह उन क्वेरी के लिए फिल्टर का उपयोग कर तेजी लाने के लिए उपयोग किया जाएगा बाधा में खेतों?
धन्यवाद!
मैंने हमेशा इस अंतर के बारे में सोचा है। एक अद्वितीय सूचकांक और एक अद्वितीय बाधा के बीच का अंतर। – leppie