मैंने अपना टेबल केवल एक इंडेक्स के साथ सेट किया है जो केवल_स्टैटस (किया_स्टैटस = INT):
जब मैं उपयोग करता हूं:
EXPLAIN SELECT * FROM reminder WHERE done_status=2
मुझे यह वापस मिल गया:
आईडी select_type table type संभव__ कुंजी key_len Ref पंक्तियाँ अतिरिक्त 1 SIMPLE रिमाइंडर सभी किए गए_स्टैटस NULL NULL NULL 5 का उपयोग करके कहां
लेकिन जब मैं यह आदेश जारी करता हूं:
EXPLAIN SELECT * FROM reminder WHERE done_status=1
मैं निम्नलिखित लौटाता हूं:
आईडी select_type table type संभव__ कुंजी key_len Ref पंक्तियाँ अतिरिक्त 1 SIMPLE अनुस्मारक रेफरी_स्टैटस किया_स्टैटस 4 कॉन्स्ट 2
EXPLAIN
मुझे पता चलता है यह 5 पंक्तियाँ, दूसरी बार 2 पंक्तियाँ का उपयोग करता है।
मुझे नहीं लगता कि सूचकांक का उपयोग किया जाता है, अगर मैंने इसे पहली बार सही समझा तो मुझे 3 पंक्तियों को देना चाहिए। मुझसे क्या गलती हुई है?
SHOW INDEX FROM reminder
:
सारणी अनुस्मारक 1 किया_स्टैटस 1 किया_स्टैटस ए 5 पूर्ण रिक्त स्थान
विस्तार से बताएं:
id select_type table type possible_keys key key_len Ref पंक्तियाँ फ़िल्टर की गई अतिरिक्त 1 SIMPLE अनुस्मारक रेफरी_स्टैटस किया_स्टैटस 4 कॉन्स्ट 2 100.00
show warnings
कुछ दिलचस्पी नहीं दिखाई।