marklogic – 删除超过100,000个文件的最佳方法是什么?

我正在努力删除MarkLogic数据库中加载的大量文件.我要删除的目录中的文件数超过100,000.我通常使用以下两种方法来删除查询控制台中的文件.目录中的每个文件都被编入索引.

for $x in xdmp:directory("/English/","infinity")
return xdmp:document-delete(fn:document-uri($x))

xdmp:directory-delete("/English/")

当我执行上述任何一种方法时,我得到“超出时间限制”,这会破坏操作.

我的问题是

>还有其他更好的方法来删除一堆文件吗?
>如果没有,有没有办法忽略XDMP-EXTIME或SVC-EXTIME?

最佳答案 如果您可以清除森林,那通常比删除大量文档更快.

否则xdmp:directory-delete通常是更好的技术,但为了获得最佳性能,请确保满足以下条件:

>数据库配置具有directory-creation = manual.
>数据库没有触发器.
>数据库没有锁定片段.

如果满足这些条件,那么删除的瓶颈通常是锁定的,因此您可以考虑暂时关闭它.

点赞