mysql - Why the rows returns by "explain" is not equal to count()? -
mysql & gt; तालिका से गिनती (*) चुनें जहां relation_title = 'xxxxxxxxx'; + ---------- + | गिनती (*) | + ---------- + | 12 9 1 9 58 | + ---------- + mysql & gt; तालिका से * चयन करें जहां relation_title = 'xxxxxxxxx' चुनें; + ---- + ------------- + --------- + - | आईडी | Select_type | पंक्तियाँ | + ---- + ------------- + --------- + - | 1 | सरल | 1274785 | + ---- + ------------- + --------- + -
मुझे लगता है कि "चुनें से चुनें * तालिका जहां relation_title = 'xxxxxxxxx'; " इंडेक्स द्वारा relation_title = 'xxxxxxxxx' की पंक्तियां देता है लेकिन यह सही संख्या से छोटा है।
यह दिखा रहा है कि आपके परिणाम प्राप्त करने के लिए यह कितनी पंक्तियों से गुजर रहा है ।
गलत डेटा का कारण यह है कि EXPLAIN सटीक नहीं है, यह आपकी तालिका के बारे में संग्रहीत जानकारी के आधार पर आपके डेटा के बारे में अनुमान लगाता है।
यह बहुत उपयोगी जानकारी है, उदाहरण के लिए कई तालिकाओं में जोन कर रहे हैं और आप यह सुनिश्चित करना चाहते हैं कि आप प्रत्येक पंक्ति के लिए जानकारी की एक पंक्ति के लिए संपूर्ण जुड़ी हुई तालिका के माध्यम से नहीं चल रहे हैं।
यहां 608 पंक्ति तालिका पर एक परीक्षा है। / P>
SELECT COUNT (id) से तालिका WHERE user_id = 1
परिणाम:
COUNT (id) 512 और यहाँ समझाएं
तालिका से WHOSE SELECT COUNT (id) का पता लगाएं user_id = 1
परिणाम:
आईडी पंक्तियों 1 608
Comments
Post a Comment