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

MySQL में INDEXES का उपयोग करने के सबसे बड़े लाभ क्या हैं?

संक्षिप्त उत्तर:
सूचकांक तेज़ होते हैं SELECT और धीमा करें INSERT 'एस।

आमतौर पर अनुक्रमणिका रखना बेहतर होता है, क्योंकि वे SELECT . को तेज़ करते हैं जितना वे धीमा करते हैं उससे कहीं अधिक insert

किसी UPDATE पर सूचकांक चीजों को गति उतरता कर सकता है यदि अनुक्रमित फ़ील्ड का उपयोग WHERE . में किया जाता है अगर आप update . करते हैं तो क्लॉज और चीजों को धीमा कर दें अनुक्रमित क्षेत्रों में से एक।

आप कैसे जानते हैं कि किसी अनुक्रमणिका का उपयोग कब करना है

EXPLAIN जोड़ें अपने SELECT . के सामने कथन।
ऐसा ही:

EXPLAIN SELECT * FROM table1 
WHERE unindexfield1 > unindexedfield2 
ORDER BY unindexedfield3

आपको दिखाएगा कि प्रत्येक अनइंडेक्स किए गए फ़ील्ड पर MySQL को कितना काम करना होगा।
उपयोग करना वह जानकारी आप तय कर सकते हैं कि इंडेक्स जोड़ना उचित है या नहीं।

समझाएं आपको यह भी बता सकती हैं कि ड्रॉप और इंडेक्स करना बेहतर है या नहीं

EXPLAIN SELECT * FROM table1 
WHERE indexedfield1 > indexedfield2 
ORDER BY indexedfield3

यदि बहुत कम पंक्तियों का चयन किया जाता है, या MySQL ने अनदेखा करने का निर्णय लिया है सूचकांक (यह समय-समय पर ऐसा करता है) तो आप अनुक्रमणिका को भी छोड़ सकते हैं, क्योंकि यह है आपके insert को धीमा कर रहा है s लेकिन अपने select को गति नहीं दे रहे हैं है।

फिर यह भी हो सकता है कि आपका चयन कथन पर्याप्त चतुर नहीं है।
(उत्तर में जटिलता के लिए क्षमा करें, मैं इसे सरल रखने की कोशिश कर रहा था, लेकिन असफल रहा)।

लिंक:
MySQL अनुक्रमणिका - क्या हैं सर्वोत्तम अभ्यास?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL JDBC ड्राइवर 5.1.33 - समय क्षेत्र समस्या

  2. मैं अद्यतन विवरण में जॉइन का उपयोग कैसे कर सकता हूं?

  3. एडब्ल्यूएस आरडीएस इंस्टेंस अपग्रेड डाउन टाइम

  4. मैसकल - एक यूनिक्स टाइमस्टैम्प से वर्ष का चयन

  5. डेटाबेस से ड्रॉपडाउन मान कैसे प्राप्त करें और jsp . में प्रदर्शित करें