हर कोई जानता है कि, तालिकाओं में जो इंजन के रूप में InnoDB का उपयोग करते हैं, जैसे प्रश्न SELECT COUNT(*) FROM mytable
बहुत ही सटीक और बहुत धीमे हैं, खासकर जब तालिका बड़ी हो जाती है और उस क्वेरी को निष्पादित करते समय लगातार पंक्ति सम्मिलन / विलोपन होते हैं।
जैसा कि मैंने इसे समझा, InnoDB एक आंतरिक चर में पंक्ति गणना को संग्रहीत नहीं करता है, जो इस समस्या का कारण है।
मेरा सवाल है: ऐसा क्यों है? क्या ऐसी सूचनाओं को संग्रहीत करना इतना कठिन होगा? इतनी सारी स्थितियों में जानना एक महत्वपूर्ण जानकारी है। एकमात्र कठिनाई मैं देख रहा हूं कि क्या इस तरह की आंतरिक गणना को लागू किया जाएगा, जब लेन-देन शामिल है: यदि लेन-देन अप्राप्त है, तो क्या आप इसके द्वारा डाली गई पंक्तियों को गिनते हैं या नहीं?
पुनश्च: मैं DBs का विशेषज्ञ नहीं हूं, मैं सिर्फ एक व्यक्ति हूं, जिसके पास MySQL एक साधारण शौक है। इसलिए अगर मैंने अभी कुछ मूर्खतापूर्ण पूछा है, तो अत्यधिक आलोचना न करें: डी।
SELECT COUNT(*) FROM ...
प्रश्न सटीक हैं। यदि आप चाहें, तो phpMyAdmin को गति की कीमत पर हमेशा सटीक पंक्ति गणना का उपयोग करने के लिए कॉन्फ़िगर किया जा सकता है। अधिक जानकारी: stackoverflow.com/questions/11926259/…