代码之家  ›  专栏  ›  技术社区  ›  Rob Oxspring

在X-Hive/Documentum xDB中,什么索引可以加速我的XQuery?

  •  4
  • Rob Oxspring  · 技术社区  · 14 年前

    /path/to/@attribute 大约需要2.4秒。做 distinct-values(/path/to/@attribute) 需要3.0秒。

    我已经可以加快查询速度了 /path/to[@attribute='value'] 通过在 /path/to[@attribute<STRING>] 但是我想不出有什么索引可以用于更一般的查询。

    有人知道我应该用什么索引吗?

    1 回复  |  直到 11 年前
        1
  •  1
  •   Ewout Graswinckel    11 年前

    您建议的索引是正确的(/path/to[@attribute]),但不幸的是,xDB优化器当前无法识别此特定情况,因为存储在索引中的“目标节点”始终是元素而不是属性。如果/path/to/@attribute的结果很少,那么您可以通过稍微修改对this:distinct值(/path/to[@attribute]/@attribute)的查询来优化它。通过这个查询,优化器可以识别出有一个索引可以用来访问“to”元素,但是仍然可以访问目标文档来检索@attribute步骤的属性。这正是为什么它只会在点击率很少的情况下受益:每次点击都可能访问不同的数据页。

    显然优化器可以处理这个问题。我将把它添加到bug追踪器中。