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

MYSQL काउंट (*) या काउंट (1) में क्या बेहतर है?

यह एक MySQL उत्तर है।

वे बिल्कुल वैसा ही प्रदर्शन करते हैं - जब तक कि आप MyISAM का उपयोग नहीं कर रहे हैं, तब COUNT(*) के लिए एक विशेष मामला है मौजूद। मैं हमेशा COUNT(*) . का उपयोग करता हूं वैसे भी।

https://dev.mysql.com/doc /refman/5.6/hi/aggregate-functions.html#function_count

<ब्लॉकक्वॉट>

MyISAM . के लिए टेबल, COUNT(*) बहुत जल्दी लौटने के लिए अनुकूलित है अगरSELECT एक तालिका से पुनर्प्राप्त करता है, कोई अन्य कॉलम पुनर्प्राप्त नहीं किया जाता है, और कोई WHERE नहीं है खंड। उदाहरण के लिए:

mysql> SELECT COUNT(*) FROM student;

यह अनुकूलन केवल MyISAM . पर लागू होता है टेबल, क्योंकि इस स्टोरेज इंजन के लिए एक सटीक पंक्ति गणना संग्रहीत की जाती है और बहुत जल्दी पहुँचा जा सकता है। COUNT(1) केवल उसी अनुकूलन के अधीन है यदि पहले कॉलम को NOT NULL . के रूप में परिभाषित किया गया है ।

###संपादित करें आप में से कुछ लोगों ने हास्य के अंधेरे प्रयास को याद किया होगा। मैं इसे ऐसे किसी भी दिन के लिए एक गैर-डुप्लिकेट प्रश्न के रूप में रखना पसंद करता हूं जब MySQL SQL सर्वर से कुछ अलग करेगा। इसलिए मैंने प्रश्न को फिर से खोलने के लिए वोट दिया (स्पष्ट रूप से गलत उत्तर के साथ)।

उपरोक्त MyISAM अनुकूलन

. पर समान रूप से लागू होता है
COUNT(*)
COUNT(1)
COUNT(pk-column)
COUNT(any-non-nullable-column)

तो असली जवाब यह है कि वे हमेशा हैं वही।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:पंक्तियों की प्रतिलिपि कैसे करें, लेकिन कुछ फ़ील्ड बदलें?

  2. SQL के रूप में तालिका बनाएँ के साथ MySQL, MariaDB, Oracle, PostgreSQL, DB2 और SQLite में डुप्लिकेट, कॉपी या बैकअप तालिकाएँ

  3. MySQL कॉलम का नाम बदलें

  4. मैं MySQL पर SQL केस संवेदनशील स्ट्रिंग तुलना कैसे कर सकता हूं?

  5. MySQL में राजस्व की गणना कैसे करें