Limit wierszy wyjaśniających MySQL

Poniżej znajduje się moje zapytanie, aby uzyskać 20 wierszy z genre_id 1.

EXPLAIN SELECT * FROM (`content`) 
WHERE `genre_id` = '1' 
AND `category` = 1
LIMIT 20

Mam łącznie 654 wiersze w tabeli treści z genre_id 1, mam indeks na genre_id iw powyższym zapytaniu ograniczam wynik do wyświetlenia tylko 20 rekordów, które działają dobrze, ale wyjaśnienie pokazuje 654 rekordów w wierszach, próbowałem dodać indeks do kategorii ale nadal ten sam wynik, a następnie także usunąłem kategorię AND = 1, ale te same wiersze się liczą:

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

TUTAJ Znalazłem odpowiedź

LIMIT nie jest brany pod uwagę przy szacowaniu liczby wierszy Nawet jeśli masz LIMIT, który ogranicza liczbę wierszy, które będą sprawdzane, MySQL będzie nadal drukował pełną liczbę

Ale także w komentarzach opublikowano kolejną odpowiedź:

LIMIT jest teraz brany pod uwagę przy szacowaniu liczby wierszy. Nie jestem pewien, która wersja rozwiązała ten problem, ale w 5.1.30 EXPLAIN dokładnie uwzględnia LIMIT.

Używam MySQL 5.5.16 z InnoDB. tak jak w powyższym komentarzu nadal nie bierze pod uwagę. Więc moje pytanie brzmi, czy mysql przechodzi przez wszystkie 654 wiersze, aby zwrócić 20 wierszy, nawet jeśli mam ustawiony limit? Dzięki

questionAnswers(1)

yourAnswerToTheQuestion