производительность. nested sets.

una1ded

Новичок
производительность. nested sets.

Доброго времени суток, многоуважаемый all!
Ситуация у меня такая.
Есть таблица категорий - это обычное дерево nested sets
с полями c_id, cleft, cright, clevel, c_title.
Есть таблица элементов этих самых категорий.
Элемент - строка с полями id, cat_id и еще несколькими, несущими содержание.
Мне необходимо вывести на странице таблицу вида
ID элемента | Категория | Содержание элемента

Причем, в столбце "категория" указана вся родительская ветка для категории данного элемента.
Как получить родительскую ветку для конкретной категории - понятно. В один запрос можно даже )
Вопрос в другом.
Если у меня на странице выводится 100 или даже 200 таких "элементов"?
каждый элемент - это дополнительный запрос к БД для вычисления родительской ветки..
более 200 запросов на страницу имхо многовато )
ну понятное дело, можно скешировать.. а может есть другое решение?
может оно вообще в один запрос делается :)

Заранее спасибо.
 

una1ded

Новичок
каких библиотеках?
можно чуть конкретнее, а то я даже не знаю что искать.
 

alpine

Новичок
К прочтению:
Хранение древовидных структур в Базах данных - http://phpclub.ru/detail/article/db_tree
Вложенные множества (Nested Sets) FAQ - http://phpclub.ru/faq/wakka.php?wakka=Tree/Ns&v=17st

-~{}~ 21.08.06 01:56:

Если с пониманием деревьев все ок, то можно использовать подзапрос + GROUP_CONCAT()
 

una1ded

Новичок
с деревьями все ок.
не ясно только как оптимизировать эти 100-200 запросов.
ушел читать про GROUP_CONCAT
 

alexhemp

Новичок
una1ded

Выбери все дерево, а потом легко в php выводиться в цикле как надо все дерево.
 
Сверху