我遇到一堆存储过程在事务中执行的情况。
本质上,临时表被用作全局变量,可由不同的存储过程访问。
现在我想从性能角度检查这是否是最有效的方法。当有许多事务(所有事务都是serliazed)时,我不断创建和删除临时表只是为了存储一个值。
以下是我的一些问题
答案 0 :(得分:1)
我没有临时表会导致很多性能问题,请检查执行计划。
但我强烈建议在这里为一个值避免使用表方法,而不是在每个过程中添加一个参数,并将此事务id作为参数传递。
如果您想使用表方法获取全局参数,请使表永久化并截断数据而不是在上一个过程中删除。 delete将写入您在此情况下不需要的事务日志。
答案 1 :(得分:0)
删除并重新创建表只会产生开销(性能瓶颈)。由于您对拥有"全局变量"感兴趣,因此您可以在某些表中将transactionID
作为列,只需在需要时进行更新。