こんにちは、私は現在 Oracle 11.2 XE を使用しており、大きな xml ファイルを操作する際にいくつかのパフォーマンス テストを行おうとしています。これまでのところ、私はあまりうまくいきませんでした。少し助けていただければ幸いです。
私の目標は、データベース内で大きな xml ドキュメントを 1 つの xml 形式から別の xml 形式に効率的に変換することです。そのため、XMLType バイナリおよび XMLType オブジェクト リレーショナル データ型に期待を寄せています。ほとんどの場合、XPath 式。
問題 1 は、複雑なスキーマを OR XMLTYPE に登録できないことです。1 時間の登録時間の後、約 1.3 GB のメモリ割り当てでメモリ不足エラーが発生して中断します。スキーマはすでに 3 つのファイルに分割されています。メモリ不足エラーを引き起こすファイルは 80 KB しかありません。これをどのように処理すればよいですか?インクルードを介してより多くの接続されたスキーマファイルをさらに分類しますか?
問題 2 は、XMLTransform を機能させることができないことです。使ってる
Insert into OUTPUT_BINARY SELECT a.filename, XMLtransform( a.xml, b.stylesheet )
FROM XMLTYPE_BINARY a, stylesheets b
WHERE (a.filename = 'test.xml' and b.filename = 'stylesheet.xsl');
テーブル XMLTYPE_BINARY および OUTPUT_BINARY の場所
create table XMLTYPE_BINARY (filename varchar2(50), xml XMLTYPE)
XMLTYPE Column xml store as BINARY XML
100KB のドキュメントの場合でも、変換に永遠に時間がかかります (30 分で終了しました) 5MB のドキュメントを試してみると、ORA-24331: ユーザー バッファが小さすぎます。誰かが私がここで見逃していることを教えてもらえますか?