私はデータベースに対して任意のスクリプトを実行する.NETプログラムに取り組んでいます。ADO.NETコマンドオブジェクトを再利用することをお勧めしますか?
colleageは、データベース・アクセス・コードを書き始めたとき、彼は単にステートメントごとに再利用されるアプリケーション(などExecuteNonQuery()
を呼び出し、CommandText
/Type
設定)の残りの部分に1つのコマンドオブジェクトを公開。
これは、毎回新たに解析されるため、これは繰り返された同一のステートメントにとって大きなパフォーマンスヒットであると思います。
私は疑問に思っています:これは、各ステートメントが前のステートメントと異なる場合(異なるパラメーターだけでなく、全く異なるステートメント)、実行速度も低下しますか?私は簡単にドキュメントの答えを見つけることができませんでした。
Btw、使用されるRDBMSはOracleですが、この質問はデータベース固有のものではないと思います。
P.S.私は同じCommand
オブジェクトがスレッドセーフではないことを知っているが、これは問題ではない。