我在优化SP时遇到问题,需要你的建议。
实际上,我正在研究遗留系统,其中SP是提交订单并且正在使用Cursor并且在Cursor内部并且正在调用另一个SP。我们知道游标不是一个好选择,所以我想用基于集合的方法重写Master SP。但在这个过程中,我发现内部SP再次调用其他三个SP。在这种情况下,似乎Cursor是不可避免的。
我们也尝试使用" With Recompile"提示但仍然没有得到满意的结果。实际上处理200条记录SP需要15分钟,因此我们正在尝试对其进行优化。
我还注意到,当我试图通过运行带有50条记录的SP来提取实际执行计划时,计划没有生成,并且SSMS在运行20-25分钟后崩溃。
我的大多数查询都是UPDATE和INSERT语句,并且在思考TABLE HINTS是否有帮助,但我之前从未使用过它。
请您建议任何替代方法,如HINTS,我们可以用它来优化我们的SP。
请在下面找到我的SP的蓝图,以便更清晰。在此先感谢:)
Master_SP
BEGIN
EXEC Inner_SP_Level1
END
Inner_SP_Level1
BEGIN
EXEC Inner_SP_Level21
EXEC Inner_SP_Level22
EXEC Inner_SP_Level23
END
Inner_SP_Level22
BEGIN
EXEC Inner_SP_Level221
EXEC Inner_SP_Level222
END