以下程序需要更多时间来执行。如何重写此代码以提高性能。请分享您的想法,我在过去4天内遇到了这个问题,但我无法解决。
with (
[identityColumn] [varchar] (10) ,FileClaimNo int ,EntityIDCode Varchar(20),EntityTypeQualifier Varchar(20),PreviousEntityTypeQualifier varchar(10),Qualifier varchar(2),LineItemNo int ,REFQualifier Varchar(20),REFQualifierValue varchar(50)
提前感谢。
答案 0 :(得分:1)
在这里给出任何好的建议是相当棘手的 - 只是一大堆T-SQL代码,没有解释它应该做什么,没有表格结构,没有关于索引的信息等......
我可以提出的几个模糊的建议是:
如果参数@P_CMSProviderxml
和@P_CMSQualifierxml
是XML,请将其设为XML
类型(不是NTEXT
which is deprecated and should not be used anymore)
在开始时将XML解析为临时表或表变量一次 - 不要在代码中执行五次
如果这个存储过程正在做五件事 - 它做得太多了。将它分成五个不同的存储过程,每个过程执行一件事(并且仅一件事)。
不要试图一次“解决”所有问题 - 尝试将问题分解为更小的块,找出问题,一次解决一个问题(如(a)解析XML,以及(b)定义正确更新等。)
答案 1 :(得分:0)
尝试将ntext
更改为nvarchar(4000)
如果仍然很慢,那么设置showplan_all;检查哪个陈述具有更高的估计值或估计值