Mysql. Правильная выборка из кучи таблиц многие-ко многих
Есть главная таблица main c полями id, name, ...
и есть штук 10 таблиц-свойств многие-ко-многим:
video + main_video (ссылки на видео)
screens + main_screens (скриншоты)
scans + main_scans (сканы)
company + main_company (фирмы)
...
Суть: Как правильно выбрать все данные по нескольким id из main с нимимальными затратами?
- Сейчас так: приходит запрос нужными id: 12, 34, 45 делается один запрос к main и другим одиночным таблица, затем по одному запросу к каждой таблице связи: main_video, main_screens, main_scans, main_company, ... постепенно добавляя в результирующий массив пришедшие данные.
По итогу, за 11 запросов выбрали все данные без дублирования.
- Есть ещё вариант за один (или два: к основной и к множественным) запрос всё связать и вытянуть, но мы получаем кучу строк с повторяющимися данными, отличающимися одним столбцом (свойством).
При таком подходе при 10 скриншотах, 2 видео, 5 сканах, 3 фирмах больше сотни от которых нужно только по одному столбцу.