Information
- Rating
- Does not participate
- Location
- Москва, Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity
Specialization
Chief Technology Officer (CTO), Database Developer
Lead
Nginx
Perl
FreeBSD
Creating project architecture
PostgreSQL
А вот ссылка: planeta.rambler.ru/users/astrologica/119969792.html
В следующий раз.
Вы разницу между Materialized Path и Adjacency List замечаете?
Лучше уж тогда Nested Sets.
Сколько говорить, что я в своих статьях не навязываю никому свою идею, а только предлагаю альтернативу.
Вы когда в ресторан приходите тоже официанту и повару канифолите мозги по поводу того, что они готовят блюда которые вам не нравятся и предлагают вам его в меню? Наверно нет, вы спокойно выбираете то, что вам по вкусу и кушаете на здоровье.
Во вторых — мы знаем, какие грабли могут быть при использовании рекурсий;
В третьих — мы стараемся делать приложения которые работают быстрее;
В четвертых — Perl тут не при чем, на нем только реализация алгоритма.
foreach my $row (@result) {
print $row->{id}, "\t", $row->{pid}, "\t", $row->{ord}, "\t", $row->{level}, "\t", $row->{data}, "\n"
}
И вот тебе готовое дерево нарисовано.
N количество запросов к базе;
Вероятность зацикливания;
Еще с областью видимости переменных больше тонкостей.
Нерабочий у вас алгоритм.
Особенно, в части поддерева, не рекурсивно.