सूचकांक बनाम विभाजन


20

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

या दूसरे शब्दों में, केवल प्रदर्शन बुद्धिमान: क्या यह संभव है कि तालिकाओं के विभाजन के साथ ही सूचकांकों के साथ प्रदर्शन में सुधार हो?


2
प्रदर्शन में सुधार के लिए या तो या अनुक्रमण या विभाजन के समाधान के बारे में सोचने के बजाय, आपको उन दोनों उपकरणों के रूप में सोचना चाहिए जिनका उपयोग आपके डेटाबेस में प्रदर्शन सुधार प्राप्त करने के लिए अलग से या संयोजन के रूप में किया जा सकता है।
स्कॉटचेयर

जवाबों:


18

नहीं, विभाजन कुछ टेबल स्कैन को एक विशेष विभाजन तक सीमित रखने की अनुमति देता है। यदि आप तालिका के 2 से 4 प्रतिशत डेटा को अधिक वापस कर रहे हैं, तो अनुक्रमणिका बेकार हो जाती है। यदि आपके चयन मानदंड क्वेरी को विशेष विभाजन के लिए स्थानीयकृत करने की अनुमति देते हैं, तो अन्य विभाजनों को स्कैन करने की आवश्यकता नहीं होगी।

ऑप्टिमाइज़र के लिए यह संभव हो सकता है कि कुछ विभाजन और दूसरों के लिए अनुक्रमित करने के लिए तालिका स्कैनिंग का उपयोग करें। मैंने ऐसी कोई व्याख्या योजना नहीं देखी है जो यह बताती है कि हो रहा है।

यदि आपके पास बहुत अधिक ऐतिहासिक डेटा है, तो वर्तमान डेटा के लिए प्रश्नों का निर्माण उन विभाजनों को सीमित करने के लिए किया जा सकता है जिन्हें वर्तमान डेटा वाले माना जाता है।


3
मैं आप विभाजन बना रहा हूं। प्रत्येक विभाजन के लिए सही संग्रहण उपकरण चुनना सुनिश्चित करें। एक उच्च गति ड्राइव और पुराने एक अन्य प्रकार पर वास्तविक डेटा विभाजन रखो।
निको

7

अपने अंतिम प्रश्न का सीधे उत्तर देने के लिए: नहीं, मुझे नहीं लगता कि वे समकक्ष हैं। एक बहुत बड़ी तालिका के बारे में सोचें (दसियों जीबी) जिसे एक दिन के डेटा के लिए खोजा जाना होगा। दैनिक विभाजनों का उपयोग करते हुए आप केवल उस दिन के डेटा को स्कैन कर रहे होंगे, बिना किसी अंतरिक्ष दंड के, जबकि एक सूचकांक एक अलग संरचना है जो पर्याप्त जानकारी नहीं रख सकता है (और अंतरिक्ष भी लेता है, जो कि बड़े डेटाबेस के बारे में बोलते समय एक चिंता का विषय है) या नहीं हो सकता है चयनात्मक पर्याप्त।

वैसे भी, सूचकांक और विभाजन उपयोग और प्रदर्शन में समान लाभों के लिए प्रतिस्पर्धा नहीं कर रहे हैं। आपको अपने डेटाबेस में बैलेंस ढूंढना चाहिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.