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

MySQL एकाधिक अनुक्रमणिका बनाम बहु-स्तंभ अनुक्रमणिका खोज के लिए

आपको MySQL (InnoDB के मामले में) में समझना होगा कि यह केवल आपके इंडेक्स के बाएं सबसे उपसर्ग का उपयोग करता है। इसलिए यदि अनुक्रमणिका Field1 + Field2 में है, तो WHERE में केवल Field2 के साथ क्वेरी करना संपूर्ण अनुक्रमणिका का उपयोग नहीं कर सकता।

और अगर Field1 + Field2 + Field3 अनुक्रमणिका है, एक क्वेरी जिसमें केवल Field1 & Field3 . है कहां . में ऐसा ही होगा।

विकल्प 1

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

विकल्प 2

यदि आपकी खोजों में कम चयनात्मकता है तो आप एक अच्छी चाल का उपयोग कर सकते हैं (अर्थात लिंग) निम्न चयनात्मकता कॉलम को सबसे बाईं ओर रखकर और Gender IN(M, F) का उपयोग करें इसे कहां . में शामिल करने के लिए संपूर्ण अनुक्रमणिका का उपयोग करने के लिए अन्य कॉलम के साथ क्लॉज।



  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. MySQL में डेटाटाइम फॉर्मेट कैसे बदलें

  3. MySql में OR WHERE स्टेटमेंट का उपयोग करने से धीमी गति से निष्पादन होता है

  4. मैक ओएस 10.6 हिम तेंदुए में MySQL प्रारंभ नहीं कर सकता

  5. एक वर्ग के अंदर से mysql डेटाबेस को क्वेरी करें