
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といったデータ挿入のみが遅いという点で、何に問題があるのか、さっぱり検討がつきません。
このような場合、どういった点を調査したらよいのでしょうか?
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
遅くなってすみません。
ありがとうございます。教えてもらった「謎のおまじない」ですが、実は既に実行済みで、結果は変わらずでした(悲)。
ADOでのInsertはともかく、BCPでも遅いので、やはりPC環境だと思います。
そちら回りを再度調べてみようと思います。
レスいただき、有難うございました。
また困ったときは、よろしくお願いします。
No.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/744 …
この回答への補足
はい。3000件ループさせて、ADO.NETのExecuteNoQueryでInsertを実行。Insert命令の直後に測定しました。
1件目から2秒程度かかります。徐々に遅くなることなく、だいたい均一で2秒くらいかかってます。
教えて頂いたプロファイラで、Inser処理がSQLServer側に到達していることは確認できました。
しかし、到達にやはり時間がかかっています。ためしにSELECT命令も実行してみたところ、やはり即到達しており、こちらは問題ありません。
なので、クライアントPCからSQLServerへ到達するまでの通信に問題がありそうです。
(ただし、SQLServer接続・SELECTには問題なし)
何か、お心当たりがありますでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- モニター・ディスプレイ 長文です。デスクトップPCのHDMI入力機能について 4 2022/09/20 17:58
- デスクトップパソコン 通話が遅延します 1 2023/06/18 02:36
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- Windows 10 Windows10起動しない、エラー0xc0000185修復方法 2 2022/07/14 12:28
- iPhone(アイフォーン) iPhone11で録画した動画をPCに充電器のケーブル、メール両方試しましたが長い動画PCに送ると動 4 2022/10/08 09:31
- デスクトップパソコン 問題が発生したため、PCを再起動する必要があります。エラー情報を収集しています。自動的に再起動します 5 2022/06/02 11:15
- Outlook(アウトルック) OCN WEBメールについて 1 2022/05/18 23:33
- 電車・路線・地下鉄 ITパスポート試験問題 7 2023/01/25 09:51
- その他(パソコン・周辺機器) 低価格な入札。問題はないのですか? 2 2022/12/25 12:46
- ノートパソコン 2台のパソコンを1つのコンセントで使うと危険? 4 2022/10/16 08:24
このQ&Aを見た人はこんなQ&Aも見ています
-
insertを高速化させたい
その他(データベース)
-
selectした大量データをinsertしたい
MySQL
-
TruncateしたテーブルへのInsertの遅さが気になる
Oracle
-
-
4
SELECT文でのデッドロックに対しての対処方
SQL Server
-
5
DBの定義のサイズを大きくし過ぎると問題ある?
その他(データベース)
-
6
Access クエリ実行が急に非常に遅くなりました。
Access(アクセス)
-
7
SQL 全角半角混在の文字列から半角数字のみを抜き出す
Oracle
-
8
トランザクションログを出力せずにデータを削除する方法
Oracle
-
9
SELECT 文 GROUP での1件目を取得
SQL Server
-
10
SQLServerでNULLを挿入したいです
SQL Server
-
11
テーブル列数とデータファイル列数の違うbcpインサートをしたい
SQL Server
-
12
復旧中のデータベースについて
SQL Server
-
13
「非対象」と「対象外」の言葉の意味やニュアンスの違いを教えて下さい。
日本語
-
14
キャッシュを使わずにSELECTを投げたい
Oracle
-
15
(SQLSERVER) 別サーバーへテーブルコピー
SQL Server
-
16
VBAでSQLServerへのODBC接続
SQL Server
-
17
datetime型でNULL値を入れたい。
SQL Server
-
18
特定条件でWHERE句の条件を変更したい
SQL Server
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SELECT時の行ロックの必要性に...
-
SELECT文でのデッドロックに対...
-
デットロックとFOR UPDATE
-
Oracleの排他制御について教え...
-
数値を加算する場合の処理について
-
PCとDBを更新したら、エラ...
-
INSERTにおいてロック処理は必要か
-
「マスタ」と「テーブル」の違...
-
accessのエクスポートエラーに...
-
AccessのテーブルをSQL Server...
-
ACCESS2007 フォーム 「バリア...
-
VBAの実行時エラー'2522'について
-
データの二重表示の原因
-
phpmyadminで問い合わせた結果...
-
Google検索はなぜ早い?
-
クエリのキャンセルがいつにな...
-
【SQLServer】IS NULLのパフォ...
-
SQLServer 分散トランザクショ...
-
IFで条件を分岐させてのINSERT...
-
PL/SQLでFROM句に変数を使いたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SELECT時の行ロックの必要性に...
-
SELECT文でのデッドロックに対...
-
SQLServer Insertが遅い
-
Oracleの排他制御について教え...
-
accessのロック
-
AccessShareLock はどの程度気...
-
排他ロックしたレコードが、別...
-
INSERTにおいてロック処理は必要か
-
更新ロックとデッドロック
-
SELECT文でタイムアウト...
-
max+1で初番する場合 for updat...
-
ExcelからAccess2013DBを更新す...
-
UPDATE文で発生するデッドロッ...
-
DB2でSelectした時(rollback,c...
-
DB2のロック調査
-
トランザクション中にSELECTし...
-
トランザクションとlast_insert_id
-
同一トランザクションの中でテ...
-
MongoDBのデータ更新はDBを排他...
-
SELECT FOR UPDATE にトランザ...
おすすめ情報