【问题标题】:truncate on collections with many indexes very slow截断具有许多索引的集合非常慢
【发布时间】:2015-02-05 16:26:14
【问题描述】:

我使用一个包含大约 2 个 Mio 小记录和超过 15 个索引的集合。有时我必须清空它。我认为最快的方法是简单地截断它。但这需要几个小时。 当我之前手动删除所有索引时,只需几秒钟。但是每次之后,我都必须重新创建索引。

截断带/不带索引的区别是什么?这是必要的吗,据我所知,截断的意思是:“把所有东西都扔掉(还有完整的索引)”?

【问题讨论】:

    标签: arangodb


    【解决方案1】:

    truncate 命令本身就是一个事务操作。 如果它在中间的某个地方失败,它可以恢复和恢复已经删除的文档。因此,它与遍历集合中的所有文档并逐个删除它们大致相同。

    拥有truncate 的快捷版本可能是有意义的,它只是删除集合中的所有数据,而没有任何机会恢复文档。当然,这样的truncate 不能成为另一笔交易的一部分。但如果选择权留给用户,我认为没问题。

    【讨论】:

    • 听起来不错。尤其是当我在 Web UI 中按下截断按钮时,我猜这可以确保这不是更复杂事务的一部分。
    猜你喜欢
    • 1970-01-01
    • 2017-12-14
    • 2016-11-10
    • 2019-03-13
    • 1970-01-01
    • 2010-10-19
    • 1970-01-01
    • 2020-05-10
    • 2017-03-18
    相关资源
    最近更新 更多