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

SQL तालिका फ़ील्ड (MySQL) पर अनुक्रमणिका कब जोड़ें?

एसक्यूएल टेबल में इंडेक्स का उपयोग करने के लिए यह हमेशा स्पष्ट कट नहीं होता है। लेकिन कुछ सामान्य नियम हैं जो आपको ज्यादातर मामलों में निर्णय लेने में मदद कर सकते हैं।

  1. अनुक्रमणिका को उन स्तंभों पर रखें जिनका उपयोग खंडों में किया जा रहा है
  2. अनुक्रमणिका को उन स्तंभों पर रखें जिन पर आप शामिल होने के लिए उपयोग करते हैं।
  3. कोशिश करें कि एक ही टेबल के कॉलम पर 4-5 से ज्यादा इंडेक्स का इस्तेमाल न करें।

और सामान्य अवधारणाएं जिन्हें आपको ध्यान में रखना चाहिए वे हैं:

  1. आपके द्वारा उपयोग की जाने वाली कोई भी अनुक्रमणिका उन स्तंभों पर तेज़ी से खोज करेगी।
  2. कोई भी अनुक्रमणिका जिसे आप जोड़ते हैं जिससे इस तालिका में सम्मिलित करना थोड़ा अधिक धीमा हो जाता है।
  3. पिछले दो से। इंडेक्स का उपयोग करना है या नहीं और किस कॉलम पर करना है या नहीं, यह तय करने के लिए यह तय करना आपकी जिम्मेदारी है कि आप टेबल पर कितने इंसर्शन और क्वेरी करते हैं।

संपादित करें

@AndrewLazarus टिप्पणी वास्तव में महत्वपूर्ण है और मैंने इसे उत्तर में जोड़ने का निर्णय लिया:

  1. केवल कुछ भिन्न मानों वाले स्तंभों पर अनुक्रमणिका का उपयोग न करें। उदाहरण के लिए, एक स्तंभ जिसमें एक राज्य होता है, जब केवल कुछ राज्य होते हैं, या एक बूलियन मान होता है। ऐसा न करने का कारण यह है कि सूचकांक वास्तव में आपकी मदद नहीं करता है क्योंकि इसे केवल मूल्यों की संख्या से विभाजित किया जाएगा, और चूंकि आपके पास उनमें से कुछ ही हैं, इसलिए कोई वास्तविक लाभ नहीं होगा। तालिका इंडेक्स के साथ अधिक स्थान का उपभोग करेगी और सम्मिलन पर धीमी गति से प्रीफॉर्म करेगी, लेकिन क्वेरी करते समय आपको महत्वपूर्ण बेहतर प्रदर्शन नहीं मिलेगा


  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. अमान्य पैरामीटर संख्या:बाध्य चर की संख्या सिद्धांत में टोकन की संख्या से मेल नहीं खाती

  3. स्मृति-कुशल अंतर्निहित SqlAlchemy इटरेटर/जनरेटर?

  4. सरल PHP SQL लॉगिन समस्या निवारण

  5. Node.js ssh . के माध्यम से जुड़ रहा है