XQueryのパフォーマンスに関する質問があります。誰かが助けてくれることを願っています。XQueryのパフォーマンス - 答えに順序がありませんか?
下記のコードは問題なく動作していますが、可能であれば、パフォーマンスを改善したいと考えています。 - ヒットで見つかったprodname属性のすべての固有値を取得する 次に - ヒットで個々の値が何回出現するかを調べる - これらの別個の値をそれぞれの合計
時々、$ヒット数で12000個までのアイテムがありますので、プロセス全体に時間がかかることがあります。
私は、順序付けられていない式/関数を使用すると、パフォーマンスが大幅に向上する可能性があることを読んでいます。 私の質問は、以下のコードのパフォーマンスを向上させる方法があるかどうかです - 順序付けされていない、または他の方法で - そしてどのようなコーディング変更が必要なのでしょうか? 私はまだのXQueryオプティマイザは、一つの製品から別のものに非常に異なり、および技術は、パフォーマンスを向上させるために
let $tempResult :=
for $d in distinct-values($hits/ancestor-or-self::DOCUMENT/@prodname)
let $q := $hits/ancestor-or-self::DOCUMENT[@prodname = $d] (: all the hits where prodname attribute has value of $d :)
order by $d
return <item zprodname="{$d}" zprodnamenum="{count($q)}"/>