> Может я неправильно понимаю, но почему бы не хранить номер уровня для > каждого узла, заполнять его при вставке триггером? Тогда глубина, > относительно заданного узла = глубина просматриваемого - глубина > заданного. И рекурсия не нужна, просто цикл по всем записям.
Узел от которого считается глубина множества подузлов задаётся динамически во время запроса, нет нкакой возможности угадать этот самый <<заданный>> узел, в момент вставки. Единственный способ --- хранить глубину относительно каждого родительского узла. Но если узел перемещается, приходится всё пересчитывать. > З.Ы. Если же речь идёт о длине пути от заданного узла, тогда нужно > хранить кодированный путь от корня до каждого узла и иметь функцию, Не катит, так ка узел относительно которого задётся поиск выбирается произвольно. > вычисляющего общего для двух сравниваемых узлов предка и складывающего > длины. Для двоичного дерева это достаточно просто, для других - сложнее Возможно затык в производитльности, узлов на данный момент более 15000, местами образуются длинные <<списки>>. > тем, что при такой глубине вложенности может просто не хватить > varchar'а. Не хватает, и опять же производительность.

