Я не могу говорить о MySQL - только SQL Сервер - но может применяться тот же принцип.
На SQL Сервер IN имеет серьезную проблему отсутствия статистики. Это означает, что при использовании нетривиального числа план запроса представляет собой сканирование таблицы.
Лучше создать временную таблицу и загрузить идентификаторы (И вставить в нее уникальный индекс, который выдает статистику) и затем присоединиться к двум таблицам. Больше для работы с анализатором запросов.