Фото сравнение jQuery [закрывается]

Хранение деревьев в базе данных является предметом, который имеет много различных решений. Это зависит от того, если Вы хотите получить субиерархию также (так все дети объекта X) или если Вы просто хотите захватить весь набор иерархий и создать дерево в O (n) путь в памяти с помощью словаря.

Ваша таблица имеет преимущество, что можно выбрать все комментарии к сообщению в 1, идут, путем фильтрации на parentpost. Поскольку Вы определили родителя комментария в учебнике путь / наивный путь, необходимо создать дерево в памяти (см. ниже). Если Вы хотите получить дерево из DB, Вам нужен другой способ сохранить дерево: См. мое описание pre-calc базирующийся подход здесь: http://www.llblgen.com/tinyforum/GotoMessage.aspx?MessageID=17746&ThreadID=3208 или сбалансированные деревья использования, описанные CELKO здесь :

или еще один подход: http://www.sqlteam.com/article/more-trees-hierarchies-in-sql

, Если Вы выбираете все в иерархии в памяти и создаете дерево там, это может быть более эффективно вследствие того, что запрос довольно прост: выбрать.. из Комментария, где ParentPost = @id ORDER BY ParentComment ASC

После того запроса, Вы создаете дерево в памяти со всего 1 словарем, который отслеживает кортеж CommentID - Комментарий. Вы теперь идете через набор результатов и создаете дерево на лету: каждый комментарий, с которым Вы сталкиваетесь, Вы можете поиск его parentcomment в словаре и затем хранить комментарий, в настоящее время обрабатываемый также в том словаре.

5
задан reconbot 19 October 2009 в 20:46
поделиться