Каким будет идеальный способ реализации такого рода вещей? Идея, которую я сейчас имею в голове, состоит в том, чтобы иметь таблицу комментариев, и каждый комментарий имеет идентификатор потока и идентификатор родительского комментария. Идентификатор потока указывает, к какому потоку принадлежит комментарий, и позволял бы использовать простой оператор MySQL, используя предложение WHERE. Каждый комментарий будет иметь идентификатор auto_increment в соответствии с обычным дизайном базы данных, а столбец родительского идентификатора указывает, какой комментарий этот комментарий является дочерним.
Этот тип дизайна поставит большую часть стресса на PHP-аспекты вещей, потому что это будет только один вызов SQL, чтобы получить все комментарии из потока. Другая реализация, которую я нашел, – это запрос SQL для каждого уровня вложенности. Это решение поставило бы стресс на стороне SQL вещей.
Как бы реализовать это? В настоящее время я в недоумении, потому что я не уверен, какое решение является «лучшим» решением, и я все еще довольно новичок в разработке баз данных, PHP и JQuery.
Благодарю.
Посмотрите на Управление иерархическими данными в MySQL , в частности раздел «Вложенная модель набора». Возможно, вам придется прочитать его несколько раз, прежде чем это имеет смысл (я сделал), но это того стоит. Это очень эффективный способ работы с вложенными данными и извлечения частей, которые вы хотите, только с одним запросом.
С другой стороны, для обновлений вам нужно сделать гораздо больше работы.