現在、Oracle 11g データベースを使用する .net ソリューションのデータ アクセス コードを検討しています。データベースから取得したデータを使用して .net コレクションを埋める機能を持つコードを見つけました。この目的を達成するために、コードはデータ アクセス レイヤーで次の手順を使用します。
- 入力データをグローバル一時テーブルに挿入します。このデータはフロントエンドから取得されます。フロント エンドは文字列を受け取り、グローバル一時テーブルに対して DML 挿入ステートメントを作成します。このステートメントは を使用して実行され
OracleCommand.ExecuteNonQuery()
ます。 - 目的の手順を実行します。この手順では、前の手順で入力されたグローバル一時テーブルを使用して出力を生成します。
- 手順 2 でグローバル一時テーブルからデータを読み取ります。
そのようなものを見るのはこれが初めてです。このコードが実行されているのをまだ見ていませんが、このコードにはパフォーマンスと保守性の問題がある可能性があると思います。通常、グローバル一時テーブルに頼らずに機能を実装する手順を作成することによって、この手順が実行されるのを見てきました。
- 最初のアプローチはパフォーマンスの問題を引き起こしますか?
- 最初のアプローチに反対する権威ある情報源を参照できますか?