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

मल्टी-कॉलम डेटाबेस इंडेक्स और क्वेरी स्पीड

नहीं। अनुक्रमणिका में स्तंभों का क्रम बहुत महत्वपूर्ण है। मान लें कि आपके पास इस तरह की एक अनुक्रमणिका है:create unique index index_name on table_name (headline, coupon_code, description,expiration_date) इस मामले में ये प्रश्न अनुक्रमणिका का उपयोग करेंगे

select * from table_name where headline = 1
select * from table_name where headline = 1 and cupon_code = 2

और ये क्वेरी अद्वितीय अनुक्रमणिका का उपयोग नहीं करेंगी:

select * from table_name where coupon_code = 1
select * from table_name where description = 1 and cupon_code = 2

तो नियम कुछ इस प्रकार है। जब आपके पास कई फ़ील्ड एक साथ अनुक्रमित होते हैं, तो आपको इंडेक्स का उपयोग करने में सक्षम होने के लिए पहला k फ़ील्ड निर्दिष्ट करना होगा।

इसलिए यदि आप कोई भी खोजने में सक्षम होना चाहते हैं इन क्षेत्रों में से एक तो आपको इंडेक्स उनमें से प्रत्येक पर अलग से . बनाना चाहिए (संयुक्त अद्वितीय इंडेक्स के अलावा)

साथ ही LIKE ऑपरेटर से सावधान रहें।

यह अनुक्रमणिका का उपयोग करेगा SELECT * FROM tbl_name WHERE key_col LIKE 'Patrick%'; और यह SELECT * FROM tbl_name WHERE key_col LIKE '%Patrick%';

अनुक्रमणिका उपयोग http://dev.mysql.com/doc /refman/5.0/hi/mysql-indexes.html एकाधिक स्तंभ अनुक्रमणिका http://dev.mysql. com/doc/refman/5.0/hi/multiple-column-indexes.html




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. प्रत्येक आईडी के लिए PHP और MySql में एक कमेंट बॉक्स बनाएं

  2. मैं अजगर का उपयोग करके इस xml/txt फ़ाइल से एक sqlite तालिका कैसे बना सकता हूं?

  3. php . में समान आईडी वाली पंक्तियों की गणना करें

  4. knex के साथ MySQL JSON कॉलम में डालने पर ऑब्जेक्ट को स्वचालित रूप से स्ट्रिंग करना

  5. हाइबरनेट विरासत, संग्रह और @OrderedBy सुपरक्लास विशेषता MySQL सिंटैक्स त्रुटि उत्पन्न करती है