こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

SQLServer Insertが遅い

1台のPCで発生している問題です。SQLServerで、Select命令は即戻ってくるのですが、Insertの処理は遅く、1件に2秒くらいかかっており、理由が分からず困っています。他のPCからは、SelectもInsertも問題ありません。

<SQLServer環境>
・バージョン:SQLServer2005 Express
・OS:WindowsXP
・ポート番号:1433固定

<クライアント環境>
・OS:Windows7
 ※問題の発生しているPCも、問題の発生しないPCも、共に同じOS・同様のスペックです。

<当方でテストした内容>
※全テストで、実行前にテーブルはtruncateし、トランザクションは未使用で実行しています。

(1) 1件づつ Insertし、計3000件を登録
   →問題発生PCでは、1件に2秒くらいかかる。問題なしPCでは、3秒くらいで全て終了

(2) sqlBulkCopyを利用し、配列変数に格納したデータ計3000件を一括登録 (配列格納後に測定)
   →問題発生PCでは、15秒で30件くらい。問題なしPCでは、3秒くらいで全て終了

(3) bcpin で、テキストファイルの計3000件を登録
   →問題発生PCでは、30秒くらい経っても開始されず。問題なしPCでは、1秒くらいで全て終了

(4) Select命令発行
   →問題発生PC、問題なしPC 共に、1秒くらいで全て終了。

(5) bcpout で、テーブルより計3000件をテキストファイルに落とす
   →問題発生PC、問題なしPC 共に、1秒くらいで全て終了。


bcpinについては、ためしに、 -S IPアドレス\Express,1433 と、ポート番号を付けて実行もしてみましたが、結果は同じで、問題発生PCでは、開始に時間がかかり、問題なしPCでは即終了しました。

以上の結果より、問題なく動くクライアントもあるため、Server側の問題ではなく、問題発生クライアントPCの環境に問題があるのではないかと思っていますが、SQLServerの接続、Selectやbcpoutには問題なく、Insertやbcpinといったデータ挿入のみが遅いという点で、何に問題があるのか、さっぱり検討がつきません。

このような場合、どういった点を調査したらよいのでしょうか?

投稿日時 - 2013-06-17 19:38:19

QNo.8138182

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(2)

ANo.2

お礼

遅くなってすみません。

ありがとうございます。教えてもらった「謎のおまじない」ですが、実は既に実行済みで、結果は変わらずでした(悲)。

ADOでのInsertはともかく、BCPでも遅いので、やはりPC環境だと思います。
そちら回りを再度調べてみようと思います。

レスいただき、有難うございました。
また困ったときは、よろしくお願いします。

投稿日時 - 2013-06-26 20:11:18

ANo.1

> (1) 1件づつ Insertし、計3000件を登録
>   →問題発生PCでは、1件に2秒くらいかかる。問題なしPCでは、3秒くらいで全て終了

ADO.NETのExecuteNoQueryの応答が2秒ですか?
均一に2秒ですか?徐々に遅くなって平均2秒ですか?

> 調査
SQL Server 2005 Express Profiler
http://www.atmarkit.co.jp/fdotnet/dotnettips/744sqlexpressprofiler/sqlexpressprofiler.html

投稿日時 - 2013-06-18 12:42:22

補足

はい。3000件ループさせて、ADO.NETのExecuteNoQueryでInsertを実行。Insert命令の直後に測定しました。
1件目から2秒程度かかります。徐々に遅くなることなく、だいたい均一で2秒くらいかかってます。

教えて頂いたプロファイラで、Inser処理がSQLServer側に到達していることは確認できました。
しかし、到達にやはり時間がかかっています。ためしにSELECT命令も実行してみたところ、やはり即到達しており、こちらは問題ありません。

なので、クライアントPCからSQLServerへ到達するまでの通信に問題がありそうです。
(ただし、SQLServer接続・SELECTには問題なし)

何か、お心当たりがありますでしょうか?

投稿日時 - 2013-06-18 18:25:34

-広告-
-広告-
-広告-
-広告-