Lời giải thích khả dĩ nhất là cột nodo
là kiểu dữ liệu ký tự và character_set_connection
không khớp với bộ ký tự được chỉ định cho cột.
Nếu cột được xác định bằng latin1
bộ ký tự, hãy thử:
WHERE nodo = CONVERT(@sitio USING latin1)
Như một minh chứng, với utf8, đầu ra giải thích hiển thị không có chỉ mục nào:
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
Nhưng với latin1, đầu ra giải thích cho thấy chỉ mục có sẵn (và được sử dụng):
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