considerar los dos siguientes explica:Sin índice en! =?
EXPLAIN SELECT * FROM sales WHERE title != 'The'
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE sales ALL title NULL NULL NULL 41707 Using where
Y -
EXPLAIN SELECT * FROM sales WHERE title = 'The'
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE sales ref title title 767 const 1 Using where
¿Por qué la consulta !=
tienen una clave NULL
? ¿Por qué no usa title
? ¿Qué causa que una declaración =
pueda utilizar un índice pero no un !=
?
Para ampliar sobre ese - seleccionar cada fila donde el título no es "El" devolverá casi todas las filas de la tabla de todos modos, por lo que no tiene sentido utilizar un índice para esta consulta. (Ya que tendrá que escanear toda la tabla para devolver todas esas filas). – duskwuff