Смена родителя во вложенном множестве с помощью Sql - PullRequest
1 голос
/ 17 июня 2011

У меня есть структура базы данных, которая содержит родительскую / дочернюю иерархию, и я использую структуру вложенного набора для ее представления. Каждая запись имеет родительский ключ, lvalue и rvalue. Вставить новых детей легко. Мы можем легко настроить все последующие значения и значения. Но как мне изменить эти значения, когда я изменяю родителя данного узла? т.е. я меняю родителя, которому принадлежит узел. В настоящее время я просто заново вычисляю все дерево, используя обход в ширину, начиная с корневых узлов. Выполнение этого в sql занимает много времени (около 5 минут для обработки 50k записей).

Есть ли более простой способ обновления этих lvalue / rvalues?

Я использую Sql Server, если это имеет какое-либо значение.

...