Pjeroo
@Pjeroo
Веб-разработчик

Как хранить диалоги неограниченной вложенности с иерархией?

Доброго времени суток.

Встал вопрос о хранении комментариев с сохранением иерархии и неограниченной вложенностью. Сообщений будет очень много, по этому nested sets скорее всего не подойдет. Рассматриваю Adjacency List, но обработка скопа сырых данных в php будет занимать много времени. Есть вариант использования Materialized Path - он выглядит самым лучшим, но по нему пока накопал слишком мало информации, особенно о том как его отсортировать для выдачи во фронтенд.

Прошу советов мудрых, новых слов для гуглений или еще лучше - ссылок для прочтения. Заранее спасибо
  • Вопрос задан
  • 611 просмотров
Решения вопроса 2
FanatPHP
@FanatPHP
Чебуратор тега РНР
какая разница, сколько всего будет сообщений, если каждая конкретная ветка комментариев не будет превышать несколько сот?

Но МР действительно самый удобный вариант. По МР полю и сортировать - оно для этого и придумано.
Ответ написан
Pjeroo
@Pjeroo Автор вопроса
Веб-разработчик
В итоге выбрал MP, сделал хранимую процедуру для добавления детей и триггер, который создает корень-комментарий для каждого поста (со значением level - (-1)), к которому я добавляю детей, следовательно у меня пути в виде (1.xxx.xxx..), так же добавил level для удобства вывода.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
id, item, parent_id
Для вывода иерархии - при запросе из БД - рекурсия хранимой процедурой.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы