Я не понимаю, почему вы это делаете:
...
ON
news0_.id = subtopics1_.news_sub_topics_id
Не будет ли NEWS.id его ПК и не будет ли другой столбец, например NEWS.topicid, который вы захотите использовать при присоединении к темам?
Вы можете сначала попытаться отбросить подтемы:
select distinct newssubtopicid from newssubtopic as NS
inner join subtopic ST on NS.subtopicid = ST.id
and ST.id in (55 , 134 , 135 , 52 , 53 , 32 , 54)
ST.id - это его ПК, нет? Должен быть указатель на NS.subtopicid. Сколько времени занимает приведенный выше запрос?
В этот момент вы знаете, какие новостные подтемы вам нужны для получения соответствующих новостей:
select count(NEWS.id) from NEWS
inner join
(
select distinct newssubtopicid from newssubtopic as NS
inner join subtopic ST on NS.subtopicid = ST.id
and ST.id in (55 , 134 , 135 , 52 , 53 , 32 , 54)
) as T
on NEWS.topicid = T.newssubtopicid