Как спроектировать бд для высоконагруженного проекта?

Есть проект где есть товары и категории, у одной вакансии могут быть несколько категорий
сделан вот как
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 чтобы отсечь дубли)

можно ли как то по другому создать таблицы, или запрос переписать?

записей 20-50млн
  • Вопрос задан
  • 270 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы