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

MySQL अनुक्रमणिका - कितने पर्याप्त हैं?

अनुक्रमण की मात्रा और बहुत अधिक करने की रेखा बहुत सारे कारकों पर निर्भर करेगी। आपकी "श्रेणियों" तालिका जैसी छोटी तालिकाओं पर आप आमतौर पर इंडेक्स नहीं चाहते हैं या इसकी आवश्यकता नहीं है और यह वास्तव में प्रदर्शन को नुकसान पहुंचा सकता है। इसका कारण यह है कि किसी इंडेक्स को पढ़ने में I/O (अर्थात समय) लगता है और फिर अधिक I/O और मिलान वाली पंक्तियों से जुड़े रिकॉर्ड को पुनः प्राप्त करने में समय लगता है। एक अपवाद तब होता है जब आप केवल अनुक्रमणिका में निहित स्तंभों को क्वेरी करते हैं।

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

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

अपना विश्लेषण करते समय, सुनिश्चित करें कि आप अपनी तालिका और सूचकांक के आँकड़े तैयार/अपडेट करें ताकि आप सटीक गणनाओं के बारे में आश्वस्त हो सकें।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQLdb का उपयोग करके पंक्तियों को जोड़ने वाला 'इन्सर्ट' फ़ंक्शन क्यों नहीं है?

  2. यदि इनपुट मान शून्य नहीं हैं तो कॉलम अपडेट करें अन्यथा अनदेखा करें और कॉलम के मौजूदा मानों को डेटाबेस में रखें

  3. क्या PHP7 का पीडीओ एक्सट पूरे परिणाम को मेमोरी में सेट करता है?

  4. मैक पर MySQL वर्कबेंच से कनेक्ट नहीं हो सकता। '127.0.0.1' पर MySQL सर्वर से कनेक्ट नहीं हो सकता (61) Mac Macintosh

  5. mysql तालिका को फिर से कैसे अनुक्रमित करें?