MySQL no usa el índice cuando marca = 1, pero lo usa con = 0
Aquí hay un problema desconcertante que estoy teniendo:
Query:
EXPLAIN SELECT id,hostname FROM queue_servers WHERE live=1
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE queue_servers ALL live NULL NULL NULL 6 Using where
Query:
EXPLAIN SELECT id,hostname FROM queue_servers WHERE live=0
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE queue_servers ref live live 1 const 1
SHOW INDEXES FROM queue_servers
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type
queue_servers 1 live 1 live A 6 NULL NULL BTREE
¿Algunas ideas? Esto me está volviendo loco ... Si solo intento seleccionar una sola columna como esta:
EXPLAIN SELECT id FROM queue_servers WHERE live=1
Funciona bien ... Pero si intento seleccionar la columna "nombre de host" o agregarla a la lista de columnas seleccionadas, no usará el índice en vivo a menos que esté buscando live = 0 ... ¿Por qué es esto? @