Есть три таблицы, одна с документами, вторая с тегами, третья - связи документов и тегов. К одному документу может быть набор тегов. Вопрос, как правильно выбрать список документов с наборов тегов по каждому из них?
Пробовал так:
1. Выборка документов (в цикле сохраняю так: $doc_array[$row->doc_id] = $row), отдельный запрос на выборку тегов, потом в цикле перебираю теги и сохраняю их в массиве документов с проверкой какой тег к какому документу идет. Итого, на 1К доков 160+ мб занятой памяти.
2. Выборка документов и в цикле запросы по каждому документу на список тегов. 1К запросов к бд в цикле - мне кажется не лучший вариант.
3. ?
Что я упускаю, какой еще вариант можно использовать?
за ссылку на гугл спасибо, только таблицы я уже связал.
в описании вопроса я спросил, как сделать оптимально выборку, результатом которого будет список документов, который так же будет содержать список тегов по каждому.