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

आप कैसे जानते हैं कि एक अच्छा सूचकांक क्या है?

यह इस बात पर निर्भर करता है कि आप 'अच्छे' और 'बुरे' से क्या मतलब रखते हैं। मूल रूप से आपको यह महसूस करने की आवश्यकता है कि आपके द्वारा जोड़ी गई प्रत्येक अनुक्रमणिका उस कॉलम द्वारा किसी भी खोज पर प्रदर्शन में वृद्धि करेगी (इसलिए किसी व्यक्ति तालिका के 'अंतिम नाम' कॉलम में एक अनुक्रमणिका जोड़ने से उन प्रश्नों पर प्रदर्शन बढ़ जाएगा जिनमें "जहां अंतिम नाम =" है) लेकिन संपूर्ण तालिका में लेखन प्रदर्शन कम करें।

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

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

तो संक्षेप में, उन स्तंभों में अनुक्रमणिका जोड़ें जिनका उपयोग चुनिंदा प्रश्नों में बहुत अधिक किया जाता है, लेकिन बहुत अधिक जोड़ने से बचने का प्रयास करें और इसलिए पहले सबसे अधिक उपयोग किए जाने वाले स्तंभ जोड़ें।

उसके बाद यह लोड परीक्षण की बात है कि उत्पादन परिस्थितियों में प्रदर्शन कैसे प्रतिक्रिया करता है, और एक स्वीकार्य संतुलन खोजने के लिए बहुत सारे बदलाव।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. समवर्ती कार्यक्रम के लिए प्राथमिकता कैसे बदलें

  2. R12.2 में लॉगिन प्रवाह और मूल समस्या निवारण

  3. Oracle 21c को SQL सर्वर से कनेक्ट करना

  4. Oracle में अशक्त बनाम खाली स्ट्रिंग

  5. IN () क्लॉज ऑरैकल PLSQL में ऐरे