Spear
почемучка
Ветка комментариев... зачем тут Nested Sets?
Здравствуйте,
делаю комментарии к статьям. Необходимо чтобы можно было отдельно отвечать на каждый комментарий.
Я планировал сделать это так:
БД:
Таблица comments:
id - идентификатор комментария
pid - родетельский комментарий (если 0 - значит это комментарий к статье)
body - текст комментария
tid - идентификатор статьи.
Думал что все просто как два байта переслать - выбираею все комментарии для данной статьи,
а потом пробегаюсь по массиву в foreach и уже смотрю куда какуо комментарий вставить основываясь на id & pid.
Но потом прочитал что некоторые (или все?) для дерева комментариев используют структуру NestedSets, якобы там для получения дерева всех комментариев нужен только 1 запрос.. дык и в том варианте который я собирался использовать - тоже только 1 запрос. И при добавлении нового комментария не придется перестраивать дерево, достаточно будет добавления записи, и все, т.е. 1 запрос insert.
Пожалуйста, подскажите где я неправ или чего я не понимаю. Пока что до практической реализации не дошел, но этим предстоит заняться уже в понедельник - очень не хотелось бы сделать какую-то откровенную фигню.
Здравствуйте,
делаю комментарии к статьям. Необходимо чтобы можно было отдельно отвечать на каждый комментарий.
Я планировал сделать это так:
БД:
Таблица comments:
id - идентификатор комментария
pid - родетельский комментарий (если 0 - значит это комментарий к статье)
body - текст комментария
tid - идентификатор статьи.
Думал что все просто как два байта переслать - выбираею все комментарии для данной статьи,
а потом пробегаюсь по массиву в foreach и уже смотрю куда какуо комментарий вставить основываясь на id & pid.
Но потом прочитал что некоторые (или все?) для дерева комментариев используют структуру NestedSets, якобы там для получения дерева всех комментариев нужен только 1 запрос.. дык и в том варианте который я собирался использовать - тоже только 1 запрос. И при добавлении нового комментария не придется перестраивать дерево, достаточно будет добавления записи, и все, т.е. 1 запрос insert.
Пожалуйста, подскажите где я неправ или чего я не понимаю. Пока что до практической реализации не дошел, но этим предстоит заняться уже в понедельник - очень не хотелось бы сделать какую-то откровенную фигню.