- 締切済み
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テーブルのキーになります サーバ環境と本番環境はコピーしているためまったく同じだとは思うのですが どこかほかに確認するところなどありますでしょうか。 よろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- koi1234
- ベストアンサー率53% (1866/3459)
回答No.1
特にCSVファイルの更新に時間がかかっているのであれば SQL自体の問題ではないように思われます (問題はSQLにあるのではなくPC環境にあるのでは?) 例えば使ってるセキュリティソフトの違いとか
お礼
koi1234 さん、回答ありがとうございます。 なるほどセキュリティソフトですか・・・。 確かに自社サーバではないため、気づいてませんでしたが あり得るかもしれませんね。 ありがとうございます。 よく考えてみると、そもそも1行づつの更新でなくても 良いはずなので、処理自体も見直してみます。