我有一个MarkLogic 8数据库,其中有两个日期时间字段的文档:
created-on
active-since
我试图写一个XQuery搜索所有的文件对于其值active-since
小于价值created-on
目前我正在使用以下FLWOR表达:
for $entity in fn:collection("entities")
let $id := fn:data($entity//id)
let $created-on := fn:data($entity//created-on)
let $active-since := fn:data($entity//active-since)
where $active-since < $created-on
return
(
$id,
$created-on,
$active-since
)
Run Code Online (Sandbox Code Playgroud)
上述查询执行时间过长,并且随着文档数量的增加,此查询的执行时间也将增加.
此外,我有
element-range-index
两个上面提到的dateTime字段,但它们没有在这里使用.所述CTS-元件查询函数只有一个元素与一组原子值进行比较.在我的情况下,我试图比较同一文件的两个元素.
我认为应该有一个更好和优化的解决方案来解决这个问题.
如果有任何搜索功能或任何其他适合此方案的方法,请通知我.