【发布时间】:2018-08-24 18:49:40
【问题描述】:
所以,我正在优化从 SQL 继承的查询,与它在 sql 中的工作方式相比,我遇到了一些性能问题。
基本上,我的 php 脚本发送 2 到 5 组两个(数字)值。
这些必须与我收藏的元素中的 id 和 doc 进行比较。当然,谓词中的元素越少,查询越快 我的 for with 谓词现在看起来像这样:
for $p in collection("/db/col1")//set1/page[(id eq val1 and doc eq altval1) or (id eq val2 and doc eq altval2) or (id eq val3 and doc eq altval3) or (id eq val4 and doc eq altval4) or (id eq val5 and doc eq altval5)]
我需要以某种方式编写一个根据值的数量而变化的谓词。我尝试编写一个函数来编写条件并在谓词中调用它,具体取决于传递了多少值,但这似乎不起作用。
如果有人知道解决方法,我将不胜感激。
编辑:删除代码中的错字。
【问题讨论】:
-
在路径中使用多个“//”运算符看起来可能效率低下。你真的确定你需要这样做吗?
-
你完全正确。那只是我的一个错字。我已经做了相应的修改。