MySQL Объясните предел строк

Ниже мой запрос, чтобы получить 20 строк с genre_id 1.

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

У меня всего 654 строки в таблице содержимого с genre_id 1, у меня есть индекс genre_id, и в приведенном выше запросе я ограничиваю результат отображением только 20 записей, что работает нормально, но объяснение показывает 654 записи в строках, я пытался добавить индекс по категории но все тот же результат, а затем я также удалил AND category = 1, но то же количество строк:

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

ВОТ Я нашел ответ

LIMIT не учитывается при оценке количества строк. Даже если у вас есть LIMIT, который ограничивает количество проверяемых строк, MySQL по-прежнему будет печатать полное число

Но также в комментариях был опубликован другой ответ:

LIMIT теперь учитывается при оценке количества строк. Я'Я не уверен, какая версия решает эту проблему, но в 5.1.30 EXPLAIN точно учитывает LIMIT.

Я использую MySQL 5.5.16 с InnoDB. так как в соответствии с приведенным выше комментарием его по-прежнему не принимая во внимание. Итак, мой вопрос: MySQL проходит все 654 строки, чтобы вернуть 20 строк, даже если я установил лимит? ThanksI

Ответы на вопрос(1)

Ваш ответ на вопрос