新しく質問する

SQLServer2000SP4の処理速度について

役に立った:1件
  • 質問者:knakatan
  • 投稿日時:2005/11/08 14:15
  • 困り度:暇なときに回答をください
  • 友達に紹介
  • ブログに書く
  • 教えて!gooお気に入り

お世話になります。

現在VB.NETよりOLEDBを使用してSQLServerに
レコード登録(バッチ処理)を行っているのですが
約2万3千件のレコードを登録(1レコード1コミット)
するのに6時間くらいかかってしまいます。
(1レコード500BYT)

1時間で1万件の登録は行えるのですが、だんだん
1レコードあたりの登録時間が長くなっていきます。
DB登録の前に存在チェックを行っていますが、検索条件は
KEY項目指定です。

SQLサーバーの設定はデフォルトのままで、
FREE BUFFERやメモリ等に問題はみられませんでした。

他に考えられる原因をご存知の方がいらっしゃれば
ご教授願います。

宜しくお願いします

この質問への回答は締め切られました。
このQ&Aは役に立ちましたか?(役に立った:1件)
  • 参考になった:0件
  • 回答者:kikaida-
  • 回答日時:2005/11/09 00:14

1件ずつやるから遅いんだと思います。
存在チェックも含めて全体で一括処理できませんか。

テキストを読みこんで登録する処理ならば、一旦BCPでワークに入れてからやってみてください。

通報する

  • 参考になった:0件

No.2ベストアンサー20pt

  • 回答者:xcrOSgS2wY
  • 回答日時:2005/11/08 18:30

テーブルにインデクスを付けているのであれば、それが原因です。レコードの登録に伴うインデクスの更新は、既登録レコード数が多いほど長い時間が掛かります。

通報する

  • 参考になった:0件

No.1ベストアンサー10pt

  • 回答者:OsieteG00
  • 回答日時:2005/11/08 14:23

まずはボトルネックを調査することが先決ですが、
主キーやインデックスを設定していたなら更新前に一旦削除しておいて、更新後に再作成をするようにしてみては如何でしょうか?

通報する

  
このQ&Aは役に立ちましたか?(役に立った:1件)

このページのトップへ

Facebook公式ページ

公式Twitter