• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:初歩的な質問ですが(ASPからのOracleDBのデータ追加))

ASPからOracleDBにデータ追加の方法と処理速度についての初歩的な質問

このQ&Aのポイント
  • ASPからOracleのDBに複数のデータを追加する方法として、Insert文とADOのAddNewメソッドとUpdateメソッドの2つがあります。どちらの方法が処理速度は速くなるかと、データ追加や更新の処理速度が既存データの件数に影響を受けるかについて質問しています。
  • 20件のデータ追加のテスト結果では両方の方法に大きな差は見られませんでしたが、いくつくらいの件数から差が出るかが知りたいです。
  • また、既存データの件数がデータ追加の処理速度に影響を与えるか、データ更新の場合はどうなるかも教えていただきたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

>1.Insert文で件数の数だけSQLを投げる >2.ADOのAddNewメソッドを使用して、件数の数だけ > レコードを追加し、最後に一回Updateメソッドを実行 > >の二通りがあると思うのです。 普通に考えた場合、そうなると思います。 あとは、ADOではなくoo4oを使うという手も・・・ oo4oの場合は配列が使えるので、一度のネットワークの往復でまとめてinsertをすることも可能です。 Oracleであれば、1の方が速くなるはずです。 トランザクションを1件目を挿入する前にかけて、最後のレコードを挿入したらコミットしてくださいね。 ただし、試されたとおり、数十件のレベルでは大差ありません。 >データ追加の処理速度は、既にDBに登録されている >データの件数に影響されますか? >データ更新の場合はどうでしょうか? 影響されます。 追加、更新だけではなく、削除もです。 特に、多くのインデックスが張られているテーブルは、インデックスの更新にも時間がかかるので、遅くなります。

rillarilla
質問者

お礼

お返事ありがとうございました! でも、 >追加、更新だけではなく、削除もです。 というのにはショックでした・・・。 (知りませんでした!) 現在、検索スピードを早くするために、 ビットマップインデックスがけっこうな数の カラムに貼られているような気が・・・。 データ更新はこれに足を引っ張られていると いうことでしょうか・・・。 でも、本当にありがとうございました! 参考にさせていただきます。

その他の回答 (1)

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.2

>現在、検索スピードを早くするために、 >ビットマップインデックスがけっこうな数の >カラムに貼られているような気が・・・。 >データ更新はこれに足を引っ張られていると >いうことでしょうか・・・。 大正解です。 特に、ビットマップインデックスは他のインデックスに比べてかなり更新に時間がかかりますので、マスターテーブルのようにあまり更新がかからない表に対して張るのがベターでしょう。

関連するQ&A