marklogic - 扩展树缓存已满错误
问题描述
对于以下代码,我得到扩展的树缓存已满:
xquery version "1.0-ml";
let $result :=
<root>{
cts:search(
fn:collection("metadata-search")/metadata,
cts:and-query((
cts:element-value-query(xs:QName('AssetID'), "*")
))
)/assetIdentifiers/assetIdentifier/AssetID
}</root>
let $path := "D:\Output\input.xml"
return
xdmp:save($path, $result,
<options xmlns="xdmp:save">
<method>xml</method>
</options>
)
但如果我在迭代模式下运行相同的代码,它工作正常:
xquery version "1.0-ml";
let $result :=
<root>{
for $data in cts:search(
fn:collection("metadata-search")/metadata,
cts:and-query((
cts:element-value-query(xs:QName('AssetID'), "*")
))
)
return $data/assetIdentifiers/assetIdentifier/AssetID
}</root>
let $path := "D:\Output\input.xml"
return
xdmp:save($path, $result,
<options xmlns="xdmp:save">
<method>xml</method>
</options>
)
数据库中有 450000 个资产,运行需要 10 分钟,我想知道为什么其他代码构造工作正常而不是第一个?任何想法,请让我详细了解此代码的上下文?
解决方案
推荐阅读
- javascript - JEST Received 函数没有抛出,但是抛出了 HTTPError
- python - 如何在Python的循环中每次生成一个唯一的单个随机数?
- vb6 - VB6 InputBox 是否支持多行字符串?
- python - 从另一个函数调用数据框?
- graphql - Apollo Vue(使用 AWS Amplify/AppSync)Graphql 查询不拉取父数据
- java - JoinMessages 类型必须实现继承的抽象方法 CommandExecutor.onCommand(CommandSender, Command, String, String[])
- android-studio - 我正在开发的应用程序可以在 android studio 模拟器上完美运行,但无法安装在设备上
- linux - 增加 Amazon Linux 2 AMI /tmp 大小
- python - 如何从熊猫中的三列创建分组条形图
- javascript - if 语句为真时会发生什么?