ruslan
Member
Уважаемые знатоки, с вами играет житель Сум. Предистория.
Предположим, есть некий каталог (товаров, ссылок - неважно). Размер и глубина вложености данного каталога неизвесна - может быть 3 уровня вложености при, скажем, 10 000 элементах; может быть 10 уровней вложености при 50 элементах в ощем, не знаем каков будет каталог ни по размеру, ни по глубине. Все это хранится в одной табличке, структура которой, скажем следующая: id, name, parent_id (по логике все понятно, что какое поле значит). В тоже самое время, каталог не есть постоянным, он все время растет... Опять же, как вширь, так и в глубину.
Внимание, вопрос.
Каким методом лучше воспользоваться для того, чтобы построить путь от текущего элемента к корневому: то ли рекурсивно запросами к БД (а если вложенность элементов 100?), то ли одним запросом считать все в хеш (а если кол-во элементов 1000 000?) и в нем уже найти полный путь? Или, быть может, еще каким-нибудь способом?
Время пошло...
Предположим, есть некий каталог (товаров, ссылок - неважно). Размер и глубина вложености данного каталога неизвесна - может быть 3 уровня вложености при, скажем, 10 000 элементах; может быть 10 уровней вложености при 50 элементах в ощем, не знаем каков будет каталог ни по размеру, ни по глубине. Все это хранится в одной табличке, структура которой, скажем следующая: id, name, parent_id (по логике все понятно, что какое поле значит). В тоже самое время, каталог не есть постоянным, он все время растет... Опять же, как вширь, так и в глубину.
Внимание, вопрос.
Каким методом лучше воспользоваться для того, чтобы построить путь от текущего элемента к корневому: то ли рекурсивно запросами к БД (а если вложенность элементов 100?), то ли одним запросом считать все в хеш (а если кол-во элементов 1000 000?) и в нем уже найти полный путь? Или, быть может, еще каким-нибудь способом?
Время пошло...