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

MIN और MAX के लिए MySQL अनुक्रमणिका

SELECT MIN(b), MAX(b) FROM tbl WHERE a = 12;

प्यार करता है

INDEX(a, b)

दोनों कॉलम, उसी क्रम में।

क्वेरी a = 12 . के लिए अनुक्रमणिका में दिखती है , पहले (a,b) को पकड़ लेता है MIN(b) . पाने के लिए जोड़ी और MAX(b) . प्राप्त करने के लिए अंतिम जोड़ी को पकड़ लेता है ।

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

अधिक सामान्यतः, इष्टतम सूचकांक आमतौर पर होता है एक जो सभी WHERE . से शुरू होता है = . के साथ स्थिरांक की तुलना में कॉलम . उसके बाद यह जटिल हो जाता है, तो मैं एक और युक्ति देता हूँ:

एक "कवरिंग" इंडेक्स वह होता है जिसमें SELECT . में उल्लिखित सभी कॉलम होते हैं (a और 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. क्या Laravel के soft_delete को MySQL पर अनुक्रमणिका की आवश्यकता है?

  2. MyISAM बनाम InnoDB

  3. सेकंड को एचएच में कनवर्ट करना:एमएम:एसएस

  4. मैसकल क्वेरी समस्या

  5. IF MySQL संगतता के लिए H2 में कार्य करता है