0

Xpath が動的に生成され、XMLTable 関数に配置されるシナリオがあります。

構造化およびバイナリ XML ストレージ DB 環境で静的 Xpath を使用して XMLTable クエリをテストしましたが、どちらもインデックス作成を行っていない場合に優れたパフォーマンスを発揮します。

現在、いずれかの環境でパフォーマンスをさらに改善し、構造化 XMLIndex を作成したいと考えています。XDB 開発者ガイドで、構造化された XMLIndex は、Xpath が何であるかを事前に知っていて、変更されない場合にのみ役立つと読みました。Xpathが動的に変化する構造化/バイナリXML環境で構造化XMLIndexを使用できるかのように、誰かがより多くの情報を提供できますか? XDB Deveoper's guideでそのような例を見つけることができないので、その例は私にとって非常に役に立ちます。

ありがとう。

4

1 に答える 1

0

Oracle 11.2 のドキュメントによると、動的に生成された XPath は問題ないはずです。

クエリで使用される可能性のある XPath 式についての予備知識は必要ありません。XMLIndex 索引の非構造化コンポーネントは、完全に一般的です。

これも役に立つと思います:

問合せで使用されるXPath式について事前に知っている場合は、問合せが頻繁に行われる固定された構造化されたデータ・アイランドを対象とする構造化XMLIndexコンポーネントを使用することで、パフォーマンスを向上させることができます。

ソース: http://docs.oracle.com/cd/E11882_01/appdev.112/e23094/xdb_indexing.htm#CHDDCBJD

構造化コンポーネントと非構造化コンポーネントの両方を使用できることに注意してください。

一般的にドキュメントを読んだ結果、XML データの構造と、可能性のある XPath ルートを知っている方が有利であることがわかりました。

XPath が毎回完全に異なる場合、インデックス作成はおそらくそれほど役に立ちません。動的ビットが実際にはそれほど変わらない場合は、パフォーマンスが向上するはずです。

于 2013-09-14T17:55:42.013 に答える