Как спроектировать бд для высоконагруженного проекта?
Есть проект где есть товары и категории, у одной вакансии могут быть несколько категорий
сделан вот как
1) таблица category (id, name, parent_id,...) - 2 уровня главные категории и подкатегории
2) таблица product (id, name, company_id,...)
3) таблица product_to_category (product_id, category_id) category_id - это подкатегории
но при выборке товаров главной категории приходится писать запрос select * from product_to_category where category_id in (все подкатегории главной категории) group by product_id - что то долго выполняется (group чтобы отсечь дубли)
можно ли как то по другому создать таблицы, или запрос переписать?