Классно! Всегда хорошо, когда добавляются адекватные возможности.
Но хотелось бы объективного бенчмарка по производительности такой иерархии по сравнению с materialised path и nested trees =)
и что бенчмарк даст? вы откажетесь от adjacency list если будет всё плохо? вы перейдёте исключительно на него, если всё хорошо?
выбор метода хранения древовидных структур процесс зависящий от тонны критериев.
Все существенные тесты имеет смысл проводить на собственных реальных данных. Но общий бенчмарк покажет общую тенденцию и выделит вырожденные случаи.
Ну разумеется все проекты я переделывать не брошусь =)
Просто такое ощущение, что adjacency list будет медленее для работы, нацеленной на приоритет выборки данных. Видимо самому и придется делать общий бенчмарк)))
плохая статья…
первый же пример приведённый в статье слишком перегружен для восприятия — ну как может помочь разобраться в новом (mysql и oracle всё-таки более популярны) синтаксисе «реализация аналога sys_connect_by_path»? Если хочется рассказать о каких-то фичах то нужно начинать с простейших примеров, как это сделано в стандартной документации (http://www.postgresql.org/docs/8.4/static/queries-with.html)
WITH RECURSIVE t(n) AS (
SELECT 1
UNION ALL
SELECT n+1 FROM t
)
ps и кавычки в именах полей в примерах ну совершенно лишние
возможно вы и правы,
но цель у меня была написать статью с примерами которыми сталкивался сам.Не очень хотелось дублировать существуещее и писать в стиле учебника, которых много в сети.
Рекурсивные (Иерархические) запросы в PostgreSQL