Оптимизация ключей и графов - PullRequest
0 голосов
/ 05 декабря 2011

Ценно ли (память, процессор, время) сделать это:

<xsl:variable name="node" select="key('mykey',category)"/>
<xsl:value-of select="count($node[value/text() = 10.0])"/>
<xsl:value-of select="count($node[value/text() = 5.0])"/>
<xsl:value-of select="count($node[value/text() = 0.0])"/>

вместо:

<xsl:value-of select="count(key('mykey',category)[value/text() = 10.0])"/>
<xsl:value-of select="count(key('mykey',category)[value/text() = 5.0])"/>
<xsl:value-of select="count(key('mykey',category)[value/text() = 0.0])"/>

или другим способом ??

1 Ответ

0 голосов
/ 05 декабря 2011

Это может иметь небольшое значение, но, вероятно, не существенно.Но ответ на вопрос производительности всегда (а) зависит от того, какой процессор вы используете, и (б) измерить его, чтобы выяснить.

Я бы предложил использовать [value=0.0] вместо [value/text()=0.0].Использование / text () - это плохая привычка, которая, похоже, все чаще появляется в мире XQuery.Обычно он дает один и тот же ответ, если только ваши данные не содержат комментарии или встроенные элементы или ненормализованные смежные текстовые узлы.Пропуск / text () делает ваш запрос короче и надежнее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...