Part2前の記事の続きです。オブジェクトによる新規レコードの挿入例です。'コネクションをクローズする。dt_en.Subtract(dt_st).ToString())この結果は下記の通り。16:58:03経過時間:00:01:02.6380000TableAdapter.Updateとほぼ同等の速度ですが、総合的には若干こっちのほうが早いみたいです。オブジェクトによる新規レコードの挿入例では、コマンドオブジェクトを最初1回だけインスタンスを作って、使いまわしてますが、ループの中でコマンドオブジェクトを作成すると経過時間が経過時間:00:01:28.6720000となりました。ループ内で、オブジェクトの作成はコストが高いそうです。ちなみに、DataSet経由でDBにアクセスするときは非接続型、コマンドオブジェクトでコネクションを手動でオープンしてDBにアクセスするときは接続型と呼ばれるようです。メソッド実行毎にコネクションを接続し、切断してるのでしょう。TableAdapter.Update()はコマンドオブジェクトとほぼ同じ速度からして、実は内部的には接続型で処理してるのではないでしょうか。大量データをテーブルに入れるときはどの方法を使うか注意して使いましょう。追記(2009/02/23):前の記事の2つ目の方法(TableAdapter.Update)で、100万行のテストデータを追加するコードを作ったところ、メモリをかなり使い果たしたあげく、処理にかなり時間がかかってしまいました。DataTableを介するのメモリを数百メガ使うのは仕方ないのでしょうけど。大量データを入れるときは、接続型のコマンドオブジェクトを使ったほうが得策です。情シスで何でも屋の三流プログラマのコーディング、サーバ管理、PC生活関係のメモ書き。このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。29検索カテゴリ全体Linuxサーバがらみ.Net開発PHP開発C/C++開発JavaSQLツール思ったこととかニュースとか。メッセージを入力してください。