2010-01-13 16 views
5

क्या यह कई अद्वितीय इंडेक्स का उपयोग करने के लिए क्वेरी समय को धीमा करता है? मुझे नहीं कई im बस जिज्ञासु, मुझे लगता है कि मैं इस बारे में सुना है कुछ जहांअद्वितीय इंडेक्स धीमा हो गया है?

  • आईडी (प्राथमिक auto_increment)
  • उपयोगकर्ता नाम (अद्वितीय)
  • पासवर्ड
  • नमक (अद्वितीय)
  • ईमेल है (अद्वितीय)
+0

यह क्वेरी पर निर्भर करता है, इसे पोस्ट करता है, और यह पूर्ण उत्तर के लिए निष्पादन योजना है। –

+0

गति से अधिक महत्वपूर्ण डेटा अखंडता है। यदि कॉलम अद्वितीय होना चाहिए, तो इसे डेटाबेस के रूप में चिह्नित करना सबसे अच्छा है। हाँ इन्टरनेट्स, अपडेट धीमे हो जाएंगे लेकिन अगर अखंडता वहां नहीं है तो डेटा बेकार है। – HLGEM

उत्तर

6

यह डेटाबेस सर्वर सॉफ़्टवेयर और तालिका/अनुक्रमणिका प्रकार पर निर्भर करता है जिसका आप उपयोग कर रहे हैं। किसी भी समय आपके पास इंडेक्स होने पर इन्सर्ट धीमे हो जाएंगे, लेकिन जरूरी नहीं कि यह भी तालिका के आकार पर निर्भर करेगा।

सामान्य में, अद्वितीय अनुक्रमित चाहिए गति को किसी भी चुनें जिसका आप उपयोग कि सूचकांक (ते)

+1

हां, आवेषण/अद्यतन इंडेक्स रखरखाव करेंगे जो ऑपरेशन के लिए विज्ञापन समय। –

0

प्रश्न समय, नहीं। वे INSERT को धीमा कर देंगे और समय निकाल देंगे, क्योंकि प्रत्येक इंडेक्स मान की गणना की जानी चाहिए और फिर डाली गई है या हटा दी गई है।

1

सामान्य रूप से, अधिक अनुक्रमणिका होने से आवेषण, अद्यतन और हटाना धीमा हो जाएगा, लेकिन प्रश्नों को तेज़ कर सकते हैं - यह मानते हुए कि आप इन क्षेत्रों के आधार पर क्वेरी करते हैं।

यदि आपको अपने आवेदन में स्थिरता की गारंटी देने के लिए एक अद्वितीय अनुक्रमणिका की आवश्यकता है तो आपको आमतौर पर इसे जोड़ना चाहिए, भले ही इसका परिणाम थोड़ा सा हो। तेजी से लेकिन गलत से सही होना बेहतर है।

2

वे आपके आवेषण और अपडेट धीमा कर देंगे (क्योंकि प्रत्येक को यह देखने के लिए जांचना पड़ता है कि बाधा का उल्लंघन किया गया है), लेकिन चयन को धीमा नहीं करना चाहिए। वास्तव में, वे उन्हें तेज कर सकते हैं, क्योंकि आपके डेटा को खोजने के लिए ऑप्टिमाइज़र का उपयोग करने के लिए और विकल्प हैं।

1

हर बार जब आप एक डेटाबेस तालिका में जोड़ देता है के लिए एक अनूठा कुंजी जोड़ने का लाभ लेने के लिए सक्षम हैं प्रश्नों एक गैर क्लस्टर सूचकांक। क्लस्टर्ड इंडेक्स प्राथमिक कुंजी पर हैं और तालिका को उस कॉलम द्वारा भौतिक रूप से तालिका में सॉर्ट करें। प्रत्येक गैर-क्लस्टर इंडेक्स तालिका के बाहर कई पत्तियों को बनाता है जो अद्वितीय कुंजी के आधार पर क्रमबद्ध होते हैं। यह अद्वितीय कुंजी पर एक और अधिक लगातार खोज की अनुमति देता है क्योंकि एक पूर्ण तालिका स्कैन की आवश्यकता नहीं है। नीचे की ओर हर बार जब आप तालिका से एक पंक्ति डालते हैं, अपडेट करते हैं या हटाते हैं, तो सर्वर को वापस जाना होगा और तालिका के बाहर की सभी पत्तियों को अपडेट करना होगा। यह आमतौर पर एक मुद्दा नहीं है यदि आपके पास अनन्य कुंजी की एक छोटी संख्या है लेकिन जब आपके पास बहुत से लोग प्रतिक्रिया समय को धीमा कर सकते हैं। अधिक जानकारी के लिए, विकिपीडिया आलेख here पढ़ें। एमएसडीएन का भी एक अच्छा लेख है।

संबंधित मुद्दे