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

MySQL इंडेक्स और ऑर्डर

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

  1. SELECT * FROM table WHERE first_name="john" AND last_name="doe"

  2. SELECT * FROM table WHERE first_name="john"

  3. SELECT * FROM table WHERE last_name="doe"

अगर आपकी अनुक्रमणिका (first_name . है , last_name ) क्वेरी 1 और 2 इसका उपयोग करेंगे, क्वेरी #3 नहीं होगी। यदि आपकी अनुक्रमणिका (last_name) है , first_name ) प्रश्न 1 और 3 इसका उपयोग करेंगे, प्रश्न # 2 नहीं होगा। WHERE क्लॉज के भीतर कंडीशन ऑर्डर बदलने से किसी भी स्थिति में कोई प्रभाव नहीं पड़ता है।

विवरण यहां हैं।

अपडेट करें :
यदि उपरोक्त स्पष्ट नहीं है - MySQL केवल एक अनुक्रमणिका का उपयोग कर सकता है यदि क्वेरी स्थितियों में स्तंभ अनुक्रमणिका का सबसे बाईं ओर उपसर्ग बनाते हैं। ऊपर प्रश्न #2 उपयोग नहीं कर सकता (last_name , first_name ) अनुक्रमणिका क्योंकि यह केवल first_name . पर आधारित है और first_name (last_name . का सबसे बाएं उपसर्ग नहीं है , first_name ) सूचकांक।

क्वेरी के भीतर शर्तों का क्रम मायने नहीं रखता; उपरोक्त क्वेरी #1 उपयोग करने में सक्षम होगी (last_name , first_name ) अनुक्रमणिका ठीक है क्योंकि इसकी शर्तें हैं first_name और last_name और, एक साथ लिया गया, वे (last_name .) का सबसे बाईं ओर उपसर्ग बनाते हैं , first_name ) सूचकांक।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. तालिका में केवल एक कॉलम अपडेट करने के लिए CSV आयात करें

  2. INT . की तुलना में BIGINT mysql प्रदर्शन

  3. PHP से SSL के साथ दूरस्थ MySQL सर्वर से कनेक्ट करें

  4. mysql परिणामों को श्रेणी के आधार पर समूहित करें और उन्हें प्रत्येक श्रेणी के अंतर्गत समूहों में प्रदर्शित करें

  5. MySQL 5.7 my.cnf फ़ाइल कहाँ है?