我一直在尝试删除couchdb中的文档(使用ruby couchrest)来恢复磁盘空间。我意识到deleting文档可能不会释放空间。然后我使用了Document :: destroy(听起来它会起作用)。在压缩视图后,它似乎释放得比应有的多得多。
你能解释什么破坏吗?你知道为什么我恢复了这么多空间吗?
答案 0 :(得分:1)
查看源代码,两个方法似乎或多或少相同(甚至破坏调用delete_doc()
)。唯一的区别似乎是destroy()
还从本地对象中删除了_id
和_rev
字段,这在服务器端没有任何区别。
但是,似乎两种方法都进行某种批处理(传递bulk = true
时)。因此,您对delete_doc()
的调用以及随后对destroy()
的调用的调用可能会超出限制并在服务器上执行批量删除。