У меня есть следующий ИНДЕКС в таблице a:
SHOW INDEX FROM a
Таблица, Non_unique, Key_name, Seq_in_index, Column_name, Collation, Cardinality, Sub_part, Packed, Null, Index_type, Comment, Index_comment
a, '1', 'oc_id', '1', 'OC_ID', 'A', '19', NULL, NULL, 'YES', 'BTREE', '', ''
И план explain
показывает, что он используется:
EXPLAIN SELECT * FROM a
WHERE OC_ID IN (
5841)
'1', 'SIMPLE', a, 'ref', 'oc_id,oc1', 'oc_id', '6', 'const', '121080', 'Using where'
Но, используя подзапрос, он не используется:
EXPLAIN SELECT * FROM a
WHERE OC_ID IN (SELECT OC_ID FROM b WHERE tteci = "54301")
'1', 'PRIMARY', a, 'ALL', NULL, NULL, NULL, NULL, '701145408', 'Using where'
'2', 'DEPENDENT SUBQUERY', b, 'index_subquery', 'OC_ID,tteci1', 'OC_ID', '6', 'func', '1', 'Using where'
Что я делаю не так?