Есть таблица с записями, их около 300 000, у каждой из этих записей есть теги, в районе 20 штук, в итоге имеем 300к записей и около 6кк тегов в связующей таблице, выполняется поиск по тегу около 30 секунд
Таблицы:
items
id, name, sort_column
tags
id, name
items_tagged
id, item_id, tag_id
Индексы:
tags: name
items_tagged: item_id, tag_id, item_id + tag_id
Сейчас запрос такой:
select * from `items` where exists (select * from `tags` inner join `items_tagged` on `tags`.`id` = `items_tagged`.`tag_id` where `items`.`id` = `items_tagged`.`item_id` and `name` = 'FIND TAG') order by `sort_column` desc limit 50
Выполняется он 30~ секунд, возможно ли его ускорить хотя бы до секунды? Какие индексы можно поствить?