2017-05-19 4 views
7

मैं वर्तमान में ओरेकल में अनुक्रमणिका सीख रहा हूं। ओरेकल documentation में, निम्न पाया जा सकता है:कॉलम पर इंडेक्स बनाना जहां प्राथमिक कुंजी या अद्वितीय कुंजी बाधाएं पहले से मौजूद हैं

हालांकि डेटाबेस अखंडता बाधा के साथ एक स्तंभ पर आप के लिए अनुक्रमणिका बनाता है, स्पष्ट रूप से इस तरह के एक स्तंभ पर एक सूचकांक बनाने की सिफारिश की है।

क्या कोई यहां मुझे इसके पीछे तर्क बता सकता है? यदि डेटाबेस स्वचालित रूप से एक अनुक्रमणिका बनाता है, तो हमें उन स्तंभों पर स्पष्ट रूप से एक और अनुक्रमणिका क्यों बनाना चाहिए?

+0

अच्छा प्रश्न के लिए कुछ नामकरण सम्मेलन रखना शायद बेहतर है। मैं उस वाक्य में "अनुशंसित नहीं" की अपेक्षा करता हूं। शायद ओरेकल केवल एक बार इंडेक्स बनाता है, और अखंडता बाधा में बदलाव होने पर इसकी अनुशंसा की जाती है। –

+1

@ गॉर्डन लिनॉफ - बाधाओं को बदलने पर इंडेक्स को रखना एक अच्छा कारण है; हालांकि, उस उद्देश्य के लिए, बाधाओं को अक्षम करते समय ओरेकल के पास 'इंडेक्स' विकल्प है। – mathguy

उत्तर

1

कम से कम, यदि आप स्पष्ट रूप से एक इंडेक्स बनाते हैं, तो आप इसे एक सार्थक नाम दे सकते हैं। यदि आपको नाम से इंडेक्स को संदर्भित करने की आवश्यकता है, तो यह मानव-पठनीय रूप में होगा।

ध्यान दें कि USING INDEX खंड में आप एक स्पष्ट अनुक्रमणिका बना सकते हैं जब आप बाधा उत्पन्न कर रहे हैं। प्रलेखन में कुछ उदाहरण हैं: https://docs.oracle.com/cd/B28359_01/server.111/b28310/indexes003.htm#ADMIN11725

1

मेरे पास एकमात्र विचार है जो स्वचालित रूप से बनाए गए इंडेक्स को कुछ अजीब नाम मिला है जो या तो SYS% या बाधा नाम से विरासत नाम प्राप्त करते हैं। सूचकांक

+0

अन्य अंतर हैं - आप स्पष्ट इंडेक्स निर्माण के साथ भंडारण आदि को नियंत्रित कर सकते हैं। ऐसा नहीं है जब सिस्टम आपके लिए करता है। – mathguy

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