• 締切済み

SQLServer Access(adp)から更新

SQLServer初心者です。 Access(adp)から、ストアドプロシージャを使ってSQLServer(2005)の テーブルを更新させる処理があります。(約9万行のCSVデータを読み込み) 内容としては1行ずつLoopさせて以下の処理を行っている感じです。 1、AテーブルにCSVファイルから取得したデータをINSERT 2、Aテーブルの同一キーがマッチしたBテーブルの2項目に対して、   CSVファイルの値を更新(Update)  テスト環境では問題なく更新できていましたが、本番環境だと処理が異様に遅くなりました。 (1時間かかって12000件ほどしか更新されません) テーブル、インデックス、ストアドの中身も確認しましたが違いが見つけられず。 「SET ARITHABORT ON」の設定も入れてみましたがダメでした。 2のUpdate処理を外すと運用に耐えるくらいの速度になったので、Update部分が 問題なのだとは思うのですが・・。 UPDATE Bテーブル SET koumoku1=@csvkoumoku1,koumoku2=@csvkoumoku2 WHERE KEY=@csvkey ←csvkeyはAテーブルのキーになります サーバ環境と本番環境はコピーしているためまったく同じだとは思うのですが どこかほかに確認するところなどありますでしょうか。 よろしくお願いいたします。

みんなの回答

  • koi1234
  • ベストアンサー率53% (1866/3459)
回答No.1

特にCSVファイルの更新に時間がかかっているのであれば SQL自体の問題ではないように思われます   (問題はSQLにあるのではなくPC環境にあるのでは?) 例えば使ってるセキュリティソフトの違いとか

miyo72
質問者

お礼

koi1234 さん、回答ありがとうございます。 なるほどセキュリティソフトですか・・・。 確かに自社サーバではないため、気づいてませんでしたが あり得るかもしれませんね。 ありがとうございます。 よく考えてみると、そもそも1行づつの更新でなくても 良いはずなので、処理自体も見直してみます。

関連するQ&A