Время выполнения вложенных хранимых процедур

Sergey
Дата: 14.08.2000 12:53:01
Недавно в MSSQL 7.0 при работе с хранимыми процедурами(sp)
сталкнулся с такой проблемой:
есть sp, которая вызывает в цикле другие sp и т.д. (уровень
вложенности процедур 3-4) и дело в том, что время выполнения главной
процедуры (в случае когда вложенные sp вызываются с помощью exec)
превышает в несколько раз выполнение этой же процедуры (если вместо
вызова sp вставить непосредственно ее код).
Возможно, в случае вызова sp с помощью exec много времени
расходуется на то, что выполнение происходит не по корректному плану,
но вызов sp с параметром with recompile, тоже ничего хорошего не дал.
Неужели из-за создания новых планов для sp время выполнения может
увеличиться во много раз?
А записывать все в одну sp не хочется. Во первых, код получится
слишком громоздким, во вторых, вложенные sp по-мимо вызова из главной
процедуры предназначены также для "индивидуального" вызова и любое
изменение кода должно касаться сразу двух процедур.
Если знаете как решить такую проблему, pls, черкните пару строк
- буду очень благодарен.
Guest+
Дата: 14.07.2006 10:27:24
Это хорошо известно, что рекурсия тяжела для хранимок