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

सरोगेट कुंजियों पर रिवर्स इंडेक्स का उपयोग करने का अच्छा अभ्यास? (आकाशवाणी)

सामान्य तौर पर, यदि आप RAC का उपयोग नहीं कर रहे हैं, तो रिवर्स-की इंडेक्स का उपयोग करने का कोई कारण नहीं होगा।

एक प्रदर्शन के दृष्टिकोण से, आप किसी भी समय में एक या दो हॉट ब्लॉक रखने से बहुत बेहतर हैं जो सम्मिलन के अधीन हैं क्योंकि यह अनिवार्य रूप से गारंटी देता है कि हॉट ब्लॉक बफर कैश और INSERT में होंगे। कोड> डिस्क से ब्लॉक को पढ़ने का खर्च नहीं उठाना पड़ेगा। यदि आपके पास इंडेक्स में यादृच्छिक ब्लॉक में डालने वाले सम्मिलन हैं, तो इस बात की बहुत अधिक संभावना है कि आप जो ब्लॉक चाहते हैं वह कैश से बाहर हो गया होगा और भौतिक I/O की लागत वहन करेगा।

एक सूचकांक को संतुलित रखने की लागत बहुत कम है लेकिन वह भी एक मानक सूचकांक के पक्ष में है। यदि आपके पास एक सामान्य अनुक्रमणिका के साथ एक अनुक्रम उत्पन्न प्राथमिक कुंजी है, तो Oracle एक 90/10 ब्लॉक स्प्लिट सबसे दाहिने ब्लॉक पर जब वह ब्लॉक भर जाता है। इसके विपरीत, यदि आपके पास एक रिवर्स कुंजी इंडेक्स है, तो Oracle को 50/50 ब्लॉक स्प्लिट्स जब भी कोई दिया गया ब्लॉक भरता है। एक 50/50 ब्लॉक स्प्लिट पुराने ब्लॉक से आधे डेटा को नए ब्लॉक में कॉपी करता है, एक 90/10 ब्लॉक स्प्लिट केवल नए ब्लॉक में सबसे सही डेटा वैल्यू की प्रतिलिपि बनाता है। इसलिए, 90/10 ब्लॉक विभाजन 50/50 ब्लॉक विभाजन की तुलना में बहुत सस्ता है और आपके द्वारा चुने गए इंडेक्स के प्रकार की परवाह किए बिना आपको लगभग समान संख्या में ब्लॉक विभाजन करने की आवश्यकता होगी। इसलिए एक नियमित इंडेक्स को बनाए रखने की लागत कैश के प्रभाव को नजरअंदाज करते हुए भी रिवर्स की इंडेक्स को बनाए रखने की लागत से कम है।

रिवर्स कुंजी इंडेक्स का उपयोग करने पर विचार करने का कारण यह होगा कि आप आरएसी का उपयोग कर रहे हैं और आप एक ही हॉट ब्लॉक पर लड़ने वाले कई आरएसी नोड्स होने की लागत से बचना चाहते हैं। यदि आपको अगला इंसर्ट करने के लिए लगातार हॉट ब्लॉक को एक नोड से दूसरे नोड में भेजना पड़ता है, तो उस विवाद को कम करने के लिए रिवर्स की इंडेक्स का उपयोग करना सार्थक हो सकता है। यदि आपने विभाजन विकल्प को लाइसेंस दिया है, तो इसके बजाय हैश विभाजन सूचकांक का उपयोग करना बेहतर होगा (यह किया जा सकता है कि तालिकाओं को विभाजित किया गया है या नहीं)। यदि आपने विभाजन विकल्प का लाइसेंस नहीं दिया है, तो एक रिवर्स कुंजी इंडेक्स हॉट ब्लॉक पर विवाद को हल करने के लिए पर्याप्त हो सकता है ताकि आपको विभाजन को लाइसेंस देने की आवश्यकता न हो।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एफएनडीसीपास और AFPASSWD

  2. cx_Oracle में नाम खोजें

  3. अनुक्रमिक क्रम में रिकॉर्ड अपडेट करने के लिए Oracle अद्यतन क्वेरी

  4. Ubuntu ORA-24960:विशेषता OCI_ATTR_USERNAME 255 की अधिकतम स्वीकार्य लंबाई से अधिक है

  5. मिलीसेकंड के साथ दिनांक स्ट्रिंग के लिए Oracle to_date फ़ंक्शन का उपयोग करना