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