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

मुझे कंपोजिट इंडेक्स का उपयोग कब करना चाहिए?

जब आप इससे लाभान्वित होने वाले प्रश्नों का उपयोग कर रहे हों तो आपको एक समग्र अनुक्रमणिका का उपयोग करना चाहिए। एक मिश्रित सूचकांक जो इस तरह दिखता है:

index( column_A, column_B, column_C )

एक क्वेरी को लाभ होगा जो उन क्षेत्रों का उपयोग शामिल होने, फ़िल्टर करने और कभी-कभी चयन करने के लिए करता है। यह उन प्रश्नों को भी लाभान्वित करेगा जो उस समग्र में कॉलम के सबसे बाएं सबसेट का उपयोग करते हैं। तो उपरोक्त सूचकांक उन प्रश्नों को भी संतुष्ट करेगा जिनकी आवश्यकता है

index( column_A, column_B, column_C )
index( column_A, column_B )
index( column_A )

लेकिन यह नहीं होगा (कम से कम सीधे नहीं, शायद यह आंशिक रूप से मदद कर सकता है अगर कोई बेहतर सूचकांक नहीं है) उन प्रश्नों के लिए मदद करें जिनकी आवश्यकता है

index( column_A, column_C )

ध्यान दें कि कैसे column_B गायब है।

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. =नल और IS NULL में क्या अंतर है?

  2. होस्ट 'xxx.xx.xxx.xxx' को इस MySQL सर्वर से कनेक्ट करने की अनुमति नहीं है

  3. MIN/MAX बनाम ORDER BY और LIMIT

  4. FORMAT () MySQL में उदाहरण

  5. दूरस्थ MySQL कनेक्शन सक्षम करें:त्रुटि 1045 (28000):उपयोगकर्ता के लिए प्रवेश निषेध