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

मैं दो कॉलम पर WHERE क्लॉज के साथ एक MySQL क्वेरी को कैसे तेज कर सकता हूं?

आपके पास दोनों क्षेत्रों में एक अनुक्रमणिका होनी चाहिए

ALTER TABLE alert_hit ADD INDEX `IDX-alert_id-timestamp` (`alert_id`, `timestamp`);

साथ ही MySQL पहले फ़ील्ड तक मल्टी कॉलम इंडेक्स का उपयोग करेगा, जिसके लिए WHERE क्लॉज में एक रेंज कंडीशन है, इसलिए इस मामले में ऑर्डर मायने रखता है और timestamp अनुक्रमणिका में अंतिम होना चाहिए।

जैसा कि @spencer7593 ने COUNT(1) . को चुनकर सुझाया है count(id) . के बजाय बेहतर भी हो सकता है।




  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. Android से SQLite डेटाबेस को MySQL डेटाबेस में कॉपी कैसे करें (प्रतिकृति/सिंक)

  3. पारंपरिक प्रतिकृति से GTID में माइग्रेट करें

  4. बारकोड बनाना और पढ़ना

  5. जूमला द्वारा उपयोग किए गए MySQL ड्राइवर को बदलें