Quantcast
Channel: SQL.ru: Microsoft SQL Server
Viewing all articles
Browse latest Browse all 7251

Процедура из процедуры, как оптимизировать?

$
0
0
День добрый!
Возникла такая ситуация, есть несколько(около 20) процедур отчетов, в которых используются временные таблицы, в каждой из процедур таблицы строятся с разной логикой. Внутри каждой процедуры есть код, который обрабатывает данные из временных таблиц, строит новые таблицы и т.п. Этот код одинаковый во всех процедурах и повторяется в каждой из них(на примере находится внутри --start и -- end). Соответственно очень удобно были бы создать отдельную процедуру с этим кодом и вызывать ее из процедур отчетов.
Так в принципе и сделали, до меня, и оно даже работает. Но! Эту внутреннюю процедуру невозможно запустить автономно, скажем для улучшения производительности, каких-либо изменений и т.п. Внутренняя процедура содержит более тысячи строк кода, поэтому работать с ней практически невозможно. Хотелось бы узнать, как можно оптимизировать такую ситуацию.
Вот грубый пример:
Create Procedure Pr_Report1
(
	@a				AS NVARCHAR(MAX),
	@b			AS UNIQUEIDENTIFIER
)
AS
BEGIN
...
Create table #t (id int, col1 int, col2 nvarchar(10)
insert into #t select ... from table1 where...

--start
select * into #tt
from table2 inner join #t on...
...
delete from #t where...

--end

select...
from #t where...
...
END

Viewing all articles
Browse latest Browse all 7251

Trending Articles