सबसे संभावित स्पष्टीकरण यह है कि कॉलम nodo
वर्ण डेटाटाइप है, और character_set_connection
कॉलम के लिए निर्दिष्ट वर्ण सेट से मेल नहीं खाता।
अगर कॉलम को latin1
. से परिभाषित किया गया है कैरेक्टरसेट, कोशिश करें:
WHERE nodo = CONVERT(@sitio USING latin1)
एक प्रदर्शन के रूप में, utf8 के साथ, आउटपुट की व्याख्या करें कि कोई अनुक्रमणिका उपलब्ध नहीं है:
EXPLAIN SELECT t.* FROM mytable t WHERE t.foo = CONVERT(@foo USING utf8)
^^^^
id select_type table type possible_keys key key_len ref rows Extra
-- ----------- ----- ---- ------------- ------ ------- ------ ---- -----------
1 SIMPLE t ALL (NULL) (NULL) (NULL) (NULL) 3 Using where
लेकिन लैटिन 1 के साथ, आउटपुट शो इंडेक्स उपलब्ध है (और इसका उपयोग किया जाता है) की व्याख्या करें:
EXPLAIN SELECT t.* FROM mytable t WHERE t.foo = CONVERT(@foo USING latin1)
^^^^^^
id select_type table type possible_keys key key_len ref rows Extra
-- ----------- ----- ---- ------------- ------ ------- ------ ---- -----------
1 SIMPLE t ref t_ix t_ix 13 const 1 Using where