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

mysql गिनती प्रदर्शन

निम्नलिखित ब्लॉग पोस्ट पर एक नज़र डालें:

1) COUNT(***) बनाम COUNT(col)
2)
आसान MySQL प्रदर्शन युक्तियाँ
3) InnoDB के लिए फास्ट काउंट(*)

बीटीडब्ल्यू, आप किस इंजन का उपयोग करते हैं?

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

select count(*) FROM
( select 1 FROM _table_ WHERE _conditions_ LIMIT 300 ) AS result

सबसे पहले आप परिणाम सेट को छोटा करें, और फिर परिणाम गिनें; यह अभी भी परिणाम सेट को स्कैन करेगा, लेकिन आप इसे सीमित कर सकते हैं (एक बार और, यह तब काम करता है जब डीबी का प्रश्न "यहां 300 से अधिक पंक्तियों से अधिक या कम है), और यदि डीबी में 300 से अधिक पंक्तियां हैं जो इस शर्त को पूरा करती हैं कि क्वेरी तेज है

परीक्षण के परिणाम (मेरी तालिका में 6.7mln पंक्तियाँ हैं):

1) SELECT count(*) FROM _table_ WHERE START_DATE > '2011-02-01'
65.4 सेकंड के लिए 4.2mln लौटाता है

2) SELECT count(*) FROM ( select 1 FROM _table_ WHERE START_DATE > '2011-02-01' LIMIT 100 ) AS result
0.03 सेकंड के लिए 100 देता है

वहाँ क्या हो रहा है यह देखने के लिए व्याख्या क्वेरी का परिणाम नीचे दिया गया है:

EXPLAIN SELECT count(*) FROM ( select 1 FROM _table_ WHERE START_DATE > '2011-02-01' LIMIT 100 ) AS result



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. त्रुटि कोड:2013। क्वेरी के दौरान MySQL सर्वर से कनेक्शन टूट गया

  2. केवल डेटटाइम कॉलम पर तिथि के अनुसार समूह करें

  3. MySQL से कैसेंड्रा में स्विच करना - पेशेवरों/विपक्ष?

  4. CURRENT_TIMESTAMP उदाहरण – MySQL

  5. कोडनिर्देशक में foreach () के लिए दिया गया अमान्य तर्क