по полю query_id не используется, т.к индексы не работают на условия !=
Индекс применяется для столбцов, которые сравниваются с помощью следующих операторов: =, >, >=, <, <=, BETWEEN и LIKE с префиксом, не содержащим шаблонного символа, такого как something%.
SELECT sqw.query_id FROM `table` AS sqw
WHERE sqw.query_id IN (52297983) AND sqw.word_id IN (78074, 245535, 74712, 75380, 77047, 87306)
GROUP BY sqw.query_id
HAVING COUNT(*) >= 4
ALTER TABLE `table` ADD INDEX `qw` ( `query_id`, `word_id`);
ALTER TABLE `table` ADD INDEX `w`( `word_id`);