> Выкачивай на клиента только ID, PARENT, все 15000. > (15000*sizeof(int)*2)=120kb > Вычисляй рекурсию на любом своем любимом языке программирования.
Был такой вариант. Не хочу выносить на клиента никакую логику. Тем более, что есть 2 клиента, один полноценный графический, а второй сейчас ещё только разрабатывается должен быть лёгкий вебовый, и ещё -- скрипты, которые дёргают базу по крону, в часы N, и генерируют отчёты, так что всё это ещё и в них придётся делать. Объём кода значительно увеличится. Чаще нужно выбирать небольшие поддеревья меньше 1000 узлов, поэтому тащить клиенту всё дерево не хочется, так как есть еще и связанные с узлами дерева данные, хотя их и не так много, но 120-ю kb тут уже не обойдётся. А если выбирать только идентификаторы то потом, для отображения некоторого поддерева виде таблицы или дерева же придётся выполнять select ... where ... in (/* куча Ид некоторого поддерева */), слишком всё это не удобно, проще UDF переписать. > Имей в виду, что рекурсия в СП и рекурсия в триггерах - разные вещи. А можно поподробнее или ссылочку?

