У меня есть запрос, который делает это:
SELECT `threaded_comments`.* FROM `threaded_comments` WHERE `threaded_comments`.`parent_id` IN (4, 5)
Я также настроил INDEX для столбца parent_id.
Когда я проверяю запрос EXPLAIN SELECT, я получаю следующую информацию:
`select_type`,`table`,`type`,`possible_keys`,`key`,`key_len`,`ref`,`rows`,`Extra`
'SIMPLE', 'threaded_comments', 'ALL', 'COMMENT_PARENT', NULL, NULL, NULL, 3, 'Using where'
Похоже, что для выражения where индекса не используются ключи. Однако, когда я делаю простой parent_id = 4, это работает. Но когда я делаю parent_id = 4 или parent_id = 5, это вызывает то же сообщение.
Я понял, что это связано с типом таблицы базы данных innoDB. MySQL, похоже, не нравится, когда на этом конкретном ядре базы данных выполняются операции IN. Может ли это быть проблемой с инструментом EXPLAIN или отсутствует InnoDB?