PL/SQLでBLOBデータを扱うことについて
BLOB型フィールドにCSVファイルを登録しております。
そのバイナリデータ(約300MB)をPL/SQLで、1行1行処理を行う方法について
1.いったん物理的にファイル出力して、そのファイルを読み込み処理を行う。
2.PL/SQL内の変数でBLOB型からCLOB型へ変換して、そのCLOB型変数を参照することで処理を行う。
1よりも2の方がファイル出力&読み込みの処理がないので高速に処理ができると思うのですが
2を選択することでCPUやメモリへの負荷が跳ね上がるのではと懸念してます。
300MBのデータをBLOB変数で受け、CLOB変換するので瞬間的には600MBのメモリ圧迫があると考えていいですか?
それなら無難に1を選択した方がいいのか判断が難しいところです。
このあたり経験則でも結構ですので、情報をお持ちでないでしょうか?
ちなみOracleは11.2.0.1、OSはLinux。
総メモリは16GBでオラクルに対しては10GB割り当てております。
上記の処理は月に1回管理者が実施しますので、複数端末から同様の処理が頻繁にされるものではありません。