【发布时间】:2017-01-27 00:40:04
【问题描述】:
我有一个场景,我想删除的大部分文档都在一个名为“过期”的集合中。我不想通过运行一个长时间运行的进程来使我的服务器超载,该进程将迭代文档并一个一个地删除它们,我宁愿使用文档删除批量处理它们。
所以我的问题是 xdmp:collection-delete 是如何工作的?
它会遍历文档并删除它们吗?
或
它是否在 SQL 中执行类似 DROP Table 及其“即时”的操作?
我想知道 xdmp:collection-delete 的后台进程是什么。我想知道是否有人可以画出此函数如何处理要删除的文档的流程,因为我想更深入地了解该过程,而不仅仅是概述它的作用。
【问题讨论】:
-
请记住,删除表格与删除文档集合并不完全相同。
-
你能详细说明你到底在追求什么吗?它本质上归结为在一个事务中迭代文档、锁定它们并删除它们。在某些情况下,它可能需要一些捷径,但它仍然需要完成所有这些,如下所述..
-
我们希望在不使服务器超载的情况下删除数据库中的数百万个文档,因为还有其他进程正在运行,而且我们的 CPU 和内存有限,这就是我们构建自己的清除器的原因它采用批量大小并以小块进行清除。我想知道这个功能是否比我们的自定义清除器更好。
-
更详细一点,所有这些文档都在一个名为“过期”的集合中
标签: xquery marklogic marklogic-7 nosql