我正在努力删除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.
>数据库没有触发器.
>数据库没有锁定片段.
如果满足这些条件,那么删除的瓶颈通常是锁定的,因此您可以考虑暂时关闭它.