MySQL explicar el límite de filas
A continuación se muestra mi consulta para obtener 20 filas con genre_id 1.
EXPLAIN SELECT * FROM (`content`)
WHERE `genre_id` = '1'
AND `category` = 1
LIMIT 20
Tengo un total de 654 filas en la tabla de contenido con genre_id 1, tengo un índice en genre_id y en la consulta anterior Estoy limitando el resultado para mostrar solo 20 registros que funcionan bien, pero explico que muestra 654 registros en filas, intenté agregar un índice en la categoría pero sigue siendo el mismo resultado y luego también eliminé AND category = 1 pero las mismas filas cuentan:
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE content ref genre_id genre_id 4 const 654 Using where
AQUÍ Encontré la respuesta
El LÍMITE no se tiene en cuenta al estimar el número de filas Incluso si tiene un LÍMITE que restringe la cantidad de filas que se examinarán, MySQL seguirá imprimiendo el número completo
Pero también en los comentarios se publicó otra respuesta:
Ahora se tiene en cuenta el LÍMITE al estimar el número de filas. No estoy seguro de qué versión abordó esto, pero en 5.1.30, EXPLAIN toma en cuenta LIMIT con precisión.
Estoy usando MySQL 5.5.16 con InnoDB. por lo que según el comentario anterior todavía no se tiene en cuenta. Entonces, mi pregunta es si mysql recorre las 654 filas para devolver 20 filas, incluso si he establecido el límite? Gracias