
お世話になります。
現在VB.NETよりOLEDBを使用してSQLServerに
レコード登録(バッチ処理)を行っているのですが
約2万3千件のレコードを登録(1レコード1コミット)
するのに6時間くらいかかってしまいます。
(1レコード500BYT)
1時間で1万件の登録は行えるのですが、だんだん
1レコードあたりの登録時間が長くなっていきます。
DB登録の前に存在チェックを行っていますが、検索条件は
KEY項目指定です。
SQLサーバーの設定はデフォルトのままで、
FREE BUFFERやメモリ等に問題はみられませんでした。
他に考えられる原因をご存知の方がいらっしゃれば
ご教授願います。
宜しくお願いします
No.2ベストアンサー
- 回答日時:
テーブルにインデクスを付けているのであれば、それが原因です。
レコードの登録に伴うインデクスの更新は、既登録レコード数が多いほど長い時間が掛かります。No.3
- 回答日時:
1件ずつやるから遅いんだと思います。
存在チェックも含めて全体で一括処理できませんか。
テキストを読みこんで登録する処理ならば、一旦BCPでワークに入れてからやってみてください。
No.1
- 回答日時:
まずはボトルネックを調査することが先決ですが、
主キーやインデックスを設定していたなら更新前に一旦削除しておいて、更新後に再作成をするようにしてみては如何でしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
非連結サブフォームのレコード...
-
ACCESS VBA コマンドDoCmd.Open...
-
ManagementStudioからのデータ削除
-
seoについておしえてください
-
「マスタ」と「テーブル」の違...
-
MySQLは難易度が高いのでSQLite...
-
ACCESSのSQLで、NULLかNULLでな...
-
SELECT文でのデッドロックに対...
-
システムテーブルについての疑問
-
ACCESS 一番最新の日付の金額...
-
SQLServer2005でフラットファイ...
-
PostgreSQLで外部DB内のテーブ...
-
ACCESS2007 フォーム 「バリア...
-
主キーの取得
-
ホームページがGOOGLEにインデ...
-
コクヨ タイトルブレーンでイ...
-
SQLServer
-
accessで移動平均する方法
-
条件付き合計をSQLで
-
InnoDBへの変更でUPDATE処理は...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
3つ以上のテーブルをUNIONする...
-
Accessにインポートしたら並び...
-
データの二重表示の原因
-
Access 削除クエリが重い
-
Access VBA Me.Requery レコー...
-
ACCESSのBookmarkプロパティの...
-
SQLデータ修正時に『このレコー...
-
テーブルのレコード削除ができ...
-
2つの項目が重複するレコード...
-
数百万件レコードのdelete
-
ManagementStudioからのデータ削除
-
Access 1レコードずつcsvで出力...
-
Accessで重複したデータを一件...
-
(ACCESS)並び替えをしないで...
-
Access カレントレコードがあり...
-
SQLServerで同一条件レコードの...
-
レコードロックする方法
-
DB2のデーターベースに、ADOで...
-
Accessでレコードが更新された...
-
非連結サブフォームのレコード...
おすすめ情報