Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

बी-ट्री बनाम बिटमैप डेटाबेस इंडेक्स

विकिपीडिया से:B-Tree और बिटमैप अनुक्रमणिका . उपयोग के मामले:

  • जब आप CREATE INDEX ... . करते हैं तो B-पेड़ सामान्य इंडेक्स प्रकार होते हैं डेटाबेस में:

    1. जब आप इंडेक्स डेटा के एक छोटे से बहुत उपसमुच्चय का चयन कर रहे होते हैं तो वे बहुत तेज़ होते हैं (आमतौर पर 5% -10% अधिकतम)
  • जब आपके पास बहुत से विशिष्ट अनुक्रमित मान होते हैं तो वे बेहतर काम करते हैं।
  • कई बी-ट्री इंडेक्स का संयोजन किया जा सकता है, लेकिन सरल दृष्टिकोण अक्सर अधिक कुशल होते हैं।
  • जब अनुक्रमित डेटा के लिए कुछ अलग मान होते हैं, या जब आप डेटा का एक बड़ा (>10%) सबसेट प्राप्त करना चाहते हैं तो वे उपयोगी नहीं होते हैं।
  • अनुक्रमित तालिका पर मान डालने/अपडेट करते समय प्रत्येक बी-ट्री इंडेक्स एक छोटा सा जुर्माना लगाता है। यह एक समस्या हो सकती है यदि आपके पास बहुत व्यस्त तालिका में बहुत सी अनुक्रमणिकाएं हैं।

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

  • बिटमैप अनुक्रमणिका एक अधिक विशिष्ट अनुक्रमणिका प्रकार हैं:

    1. वे अनुक्रमित मानों को बिटमैप के रूप में एन्कोड करते हैं और इसलिए बहुत ही कुशल स्थान हैं।
    2. जब कुछ विशिष्ट अनुक्रमित मान होते हैं तो वे बेहतर काम करते हैं
    3. डीबी अनुकूलक बहुत आसानी से अनुक्रमित कई बिटमैप को जोड़ सकते हैं, यह प्रश्नों में जटिल फिल्टर के कुशल निष्पादन की अनुमति देता है।
    4. मान डालने/अपडेट करते समय वे बहुत अक्षम होते हैं।


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

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ओरेकल - regexp_substr शून्य मान वापस करने के लिए

  2. फ़ाइल या असेंबली लोड नहीं कर सका 'Oracle.DataAccess' 64 बिट ODP.NET

  3. Oracle में FROM क्लॉज के बिना चयन करें

  4. अंतराल प्रकार को एचएच:एमएम प्रारूप में कैसे प्रारूपित करें?

  5. ओरेकल को ओआरए-12704 फेंकने के लिए ईएफ क्वेरी:चरित्र सेट मेल नहीं खाता