-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 を一時テーブルまたはテーブル変数に最初に 1 回解析します。コード内で 5 回実行しないでください。

  3. このストアド プロシージャが 5 つのことを行っている場合、やりすぎです。それを 5 つの異なるストアド プロシージャに分割し、それぞれが1 つのことを実行します(そして1 つのことだけを実行します)。

  4. 一度にすべてを「解決」しようとしないでください。問題を小さなチャンクに分解し、問題を特定し、一度に 1 つずつ解決してください ((a) XML を解析し、(b) 更新を適切に定義するなど)。

于 2012-12-01T08:57:46.533 に答える
0

に変更ntextしてみてくださいnvarchar(4000)

それでも遅い場合は、showplan_all をオンに設定します。どのステートメントがより高い推定値または推定値を持っているかを確認する

于 2012-12-01T08:01:12.947 に答える