किसी भी संबंधित डेटाबेस में, हम क्वेरीज को बढ़ावा देने वाले इंडेक्स बना सकते हैं। लेकिन अधिक इंडेक्स बनाने से अपडेट/डालने की गति को नुकसान पहुंचा सकता है क्योंकि डीबी सिस्टम को प्रत्येक इंडेक्स को अपडेट करना होगा जब नया डेटा आ रहा है (डालें, अपडेट करें, मर्ज करें)सिंगल या समग्र कॉलम इंडेक्स के बीच क्या अंतर है?
हम एक उदाहरण का उपयोग करते हैं। हम एक सूचकांक index1 जोड़ें सूचकांक index1
(order_id
एएससी, buyer_id
एएससी) कहा जाता है बना सकते हैं या हम 2 अनुक्रमित, index2 और index3 जोड़ें सूचकांक बना सकते हैं index2
(order_id
एएससी) जोड़ें सूचकांक index3
(buyer_id
एएससी)
इस की तरह एक क्वेरी में * tablename से चुनें जहां order_id> 100 और buyer_id> 100
कौन सा तेज़ है? इंडेक्स 1 या इंडेक्स 2 और इंडेक्स 3 का उपयोग करके?
समीकरण के दूसरी तरफ, डालने या अपडेट करने पर, मुझे लगता है कि यह केवल 2 के बजाय एक इंडेक्स का उपयोग करने के लिए बहुत तेज होगा, लेकिन मैंने इसे MySQL या MSSQL सर्वर के विरुद्ध परीक्षण नहीं किया है, इसलिए मैं नहीं हो सकता बिलकुल पक्का। अगर किसी को उस मामले पर अनुभव है, तो कृपया इसे साझा करें।
और आखिरी बात int टाइप किए गए मानों के बारे में है, मैंने सोचा कि इंट टाइप कॉलम के लिए इंडेक्स बनाने के लिए यह संभव या प्रासंगिक नहीं है क्योंकि यह क्वेरी समय को बढ़ावा नहीं देता है, क्या यह सच है?
यह भी ध्यान रखें कि एसक्यूएल सर्वर और माइस्क्ल में अनुक्रमण अलग-अलग हैं, इसलिए इस प्रश्न को दोनों के साथ टैग करना समस्याग्रस्त है क्योंकि दोनों के पास अलग-अलग उत्तर हो सकते हैं। – Vanlightly
मैं इस लिंक को जोड़ने का इरादा रखता हूं http://stackoverflow.com/questions/179085/multiple-indexes-vs-multi-column-indexes –
मेरा प्रश्न दोनों पढ़ने और हानिकारक WRITE दक्षता में सुधार करने पर अधिक केंद्रित है जबकि दूसरा केवल पढ़ने के संचालन पर अधिक ध्यान केंद्रित है। – shawhu