-2

以下过程需要更多时间来执行。如何重写此代码以提高性能。请分享您的想法,我从过去 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)

提前致谢。

4

2 回答 2

1

在这里给出任何好的建议是相当棘手的——只是一大堆 T-SQL 代码,没有解释它应该做什么,没有表结构,没有关于索引的信息等.....

我可以提出的一些模糊的建议是:

  1. 如果参数@P_CMSProviderxml@P_CMSQualifierxml是 XML - 使它们成为类型XML(不是NTEXT 弃用且不应再使用

  2. 开始时将 XML 解析为临时表或表变量- 不要在代码中执行五次不同的操作

  3. 如果这个存储过程正在做五件事——它做的太多了。将其分成五个不同的存储过程,每个过程都做自己的一件事(并且只做一件事)。

  4. 不要试图一次“解决”所有问题 - 尝试将问题分解成更小的块,识别问题,一次解决一个(例如(a)解析 XML,以及(b)正确定义更新等)

于 2012-12-01T08:57:46.533 回答
0

尝试更改ntextnvarchar(4000)

如果仍然很慢,则将 showplan_all 设置为 on;检查哪个语句有更高的estimateio或estimatecpu

于 2012-12-01T08:01:12.947 回答