none
SQL Server 2000でDBのデタッチ、アタッチ後にパフォーマンスが低下 RRS feed

  • 質問

  • AサーバーのAAA_DBをデタッチして、Bサーバーにアタッチ後、

    あるINSERT文の処理が6倍になってしまいました。

    対象のTBLのレコード件数は約80,000件で抽出後の件数は

    15,000件です。

     

    INSERT文は下記の通りです。

     

    ① INSERT INTO A_MST_TBL SELECT * FROM Bサーバー.AAA_DB.DBO.A_TBL WHERE KEY1='111' 

     

    BサーバーにはBBB_DBがあり、同じINSERT文を使用し、

    レコード件数もAAA_DBのA_TBLとほぼ同じ件数分あり、

    そのINSERT文では処理時間は問題ありませんでした。

    (BBB_DBはBサーバーにもともとあるDBです)

     

    INSERT文は下記の通りです。

    ② INSERT INTO A_MST_TBL SELECT * FROM Bサーバー.BBB_DB.DBO.A_TBL WHERE KEY1='111' 

     

    上記2つのINSERT文はAサーバーの1つのストアドより実行して

    います。

    SQLプランを確認した所、どうも①のINSERT文のINDEXが働いて

    いないようで、全件読み込んで処理しているようです。

    INDEXの再構築を行ったのですが、変化はありませんでした。

     

    DBをデタッチ、アタッチした後に、何か設定を変更することがあれば、

    お教え願います。

     

    2つのサーバー環境は下記の通りです。

     OS:Windows 2003 Server

     SQL:SQL Server 2000 SP4

     

    宜しくお願い致します。

     

    2008年6月6日 14:38

回答

  • ご回答ありがとうございます。

     

    原因がわかりました。ネットワークにエラーが発生していた為、時間がかかって

    いたようです。通信がまったくつながらない状態であれば直ぐにわかったのです

    が…。通信異常とは気づきませんでした。

     

    ご回答をくださった皆々様、色々な方法をご教授頂き、本当にありがとうございました。

     

     

     

    2008年6月12日 19:52

すべての返信

  •  altenter さんからの引用

    上記2つのINSERT文はAサーバーの1つのストアドより実行して

    います。

    このストアドは再コンパイルしましたか?

    2008年6月6日 22:50
  •  blink! さんからの引用

     altenter さんからの引用

    上記2つのINSERT文はAサーバーの1つのストアドより実行して

    います。

    このストアドは再コンパイルしましたか?

     

    ご回答ありがとうございます。

     

    ストアドの再コンパイルは実行済みで、クエリーアナライザーより

    そのINSERT文を実行しても改善されませんでした。

     

    2008年6月8日 4:42
  • UPDATE STATISTICSで統計情報を更新してみてはどうでしょうか?

     

    2008年6月8日 14:05
  •  CatTail さんからの引用

    UPDATE STATISTICSで統計情報を更新してみてはどうでしょうか?

     

     

    ご回答ありがとうございます。

     

    統計情報の更新を行いましたが、改善されませんでした。

    その後、対象サーバー全て再起動しましたが、改善されませんでした。

     

    2008年6月8日 17:43
  • BサーバーのBBB_DBとAAA_DBのプロパティの設定は同じでしょうか。

    また、以下のことは試されたでしょうか。もし試されていたら結果を教えてください。

    1. Bサーバー.BBB_DBにA_TBLそのものを作成し、Aサーバーのストアドをキックして処理時間をBサーバー.AAA_DB.A_TBL対する処理時間と比較してみる。

    2. Indexヒントを使って、「どうも①のINSERT文のINDEXが働いていないようで、全件読み込んで処理しているようです。」が解決できかつ処理時間が期待通りになるかどうか確認してみる。
      インデックスヒントのつけ方:http://www.microsoft.com/japan/technet/prodtechnol/sql/2000/books/sqlreskit0709.mspx

     

    2008年6月10日 20:19
  • ご回答ありがとうございます。

     

    原因がわかりました。ネットワークにエラーが発生していた為、時間がかかって

    いたようです。通信がまったくつながらない状態であれば直ぐにわかったのです

    が…。通信異常とは気づきませんでした。

     

    ご回答をくださった皆々様、色々な方法をご教授頂き、本当にありがとうございました。

     

     

     

    2008年6月12日 19:52