SP里调用SP,导致Tempdb的LOG文件疯狂的往上涨:
具体: SP1 是主SP, 里面调用了一个 SP2, 而 SP2里又调用了一个 SQL的 Function - FN1, (在SP1 和 SP2 里调用了一些 Temp Table, 但是在SP的最后都已经 Drop 了 temp Table),可是在运行 SP1 的时候,发现 Tempdb的LOG文件疯狂的往上涨,请问大家有没有知道是什么问题的, 急啊!!! 被客户追。
具体: SP1 是主SP, 里面调用了一个 SP2, 而 SP2里又调用了一个 SQL的 Function - FN1, (在SP1 和 SP2 里调用了一些 Temp Table, 但是在SP的最后都已经 Drop 了 temp Table),可是在运行 SP1 的时候,发现 Tempdb的LOG文件疯狂的往上涨,请问大家有没有知道是什么问题的, 急啊!!! 被客户追。
不太明白哦 ??
不太明白哦 ??
----------------
就是不要让log记录那么信息,自然就不会疯长了.另外可以适当的减少一些临时表,用表变量.
表变量 ??
而且Drop前最好先执行一下truncate
少量使用临时表,或应用频率低,drop table #table_tmp即可
如果循环频繁使用,就先truncate table #table_tmp下,会有好处
insert into #tmp_ds (va, .........) exec sp2 argumet1 = 'sd',...
insert into #tmp_ewe (va, .........) exec sp3 argumet1 = 'dwe',...
像 #tmp_ds / #tmp_ewe 这两个临时表也不可以换成 表变量用, 还有请问各位大侠还有其他好的方法解决这个问题呢?
(#tmp_ds / #tmp_ewe 这两个 临时表在 SP1里还有调用)