эффективен в постгресе?
Например, дерево комментариев:
- Порядок узлов в дереве важен - от старых к новым.
- Узлы могут перемещаться между родителями вместе со всем поддеревом.
- Типичные запросы: добавить/изменить комментарий, выбрать поддерево, найти в поддереве по запросу и выбрать пути до корня.
По умолчанию стоит смотреть на adjacency list.
По-колхозному можно хранить ссылки на родителя и в отдельном поле "полный путь" типа ltree. Оно поддерживает индексы и прочие удобства. При переносе узлов дерева поля с путём пересчитывать "руками".
Запилил бенчмарк этого дела. Гляньте там код адаптера к потгресу, не накосячил ли я там где-то с запросами. https://github.com/nin-jin/dbench
Обсуждают сегодня