मैं डीबी लड़का नहीं हूँ। लेकिन मुझे टेबल बनाने और सीआरयूडी संचालन करने की जरूरत है। मुझे भ्रमित हो जाना चाहिए क्या मैं डिफ़ॉल्ट रूप से द्वारा सभी कॉलम पर इंडेक्स बना सकता हूं या नहीं? यहां मेरी समझ है जो मैं सूचकांक बनाते समय विचार करता हूं।डेटाबेस में तालिका कॉलम पर इंडेक्स बनाने का निर्णय कब होता है?
सूचकांक में मूल रूप से स्मृति स्थान सीमा होती है (स्मृति स्थान प्रारंभ होता है जहां पहला मान स्मृति स्थान को समाप्त करने के लिए संग्रहीत किया जाता है जहां अंतिम मान संग्रहित होता है)। इसलिए जब हम कॉलम के लिए टेबल इंडेक्स में कोई मान डालते हैं तो अपडेट किया जाना चाहिए क्योंकि इसे एक और मूल्य मिला है लेकिन कॉलम के अपडेट का मान इंडेक्स वैल्यू पर कोई असर नहीं पड़ेगा। सही? तो लब्बोलुआब यह है जब मेरे कॉलम में दो तालिकाओं के बीच में शामिल होने के लिए किया जाता है हम बनाने स्तंभ पर सूचकांक में प्रयोग किया जाता शामिल हो सकें लेकिन सभी स्तंभों क्योंकि छोड़ा जा सकता है पर विचार करना चाहिए कि अगर हम उन पर सूचकांक बनाने यह अद्यतन करने सूचकांक मूल्य के अतिरिक्त लागत शामिल होगी है जब कॉलम में नया मान डाला जाता है। सही?
इस परिदृश्य पर विचार करें जहां मेज mytable
शामिल दो तीन स्तंभों अर्थात col1
, col2
, col3
। अब हम इस क्वेरी को
select col1,col2 from mytable
अब यहां दो मामले हैं। पहले मामले में हम col1
और col2
पर इंडेक्स बनाते हैं। दूसरे मामले में हम कोई अनुक्रमणिका नहीं बनाते हैं। ** मेरी समझ के अनुसार केस 1 केस 2 से तेज़ होगा क्योंकि यदि 1 ऑरैकल कॉलम मेमोरी लोकेशन को तुरंत ढूंढ सकता है। तो यहां मैंने किसी भी कॉलम का उपयोग नहीं किया है लेकिन अभी भी इंडेक्स यहां सहायता कर रहा है। इसलिए मैं सूचकांक यहाँ या नहीं बनाने पर विचार करना चाहिए? **
क्या होगा यदि एक ही स्थिति में ऊपर अगर हम
select * from mytable
select col1,col2 from mytable
विल सूचकांक मदद यहाँ के बजाय आग?
इंडेक्स SELECT क्लॉज में मानों के लिए कुछ भी नहीं करता है। आपके ऑन क्लॉज या आपके WHERE क्लॉज में फ़ील्ड की सूची क्या मायने रखती है। – Bill
@ बिल - क्या ओरेकल इंडेक्स को कवर करते समय उपयोग नहीं करता है? मैं एक एसक्यूएल सर्वर लड़का हूं और मुझे पता है कि ओरेकल इंडेक्स को थोड़ा अलग तरीके से संभालता है, लेकिन मैंने सोचा कि कुछ मामलों में यह अभी भी इंडेक्स को कवर करने का उपयोग करता है। –
@ टॉम: हुह। प्रति दिन कुछ नया सीखें। मैं भी एक एमएसएसएलएल लड़का हूं और इसे नहीं जानता था। फिर भी, ऐसा लगता है कि कवरेज इंडेक्स केवल तभी उपयोगी होता है जब आप बहुत सारे आर और बहुत सीयूडी नहीं कर रहे हों। – Bill