截断具有许多索引的集合非常慢
truncate on collections with many indexes very slow
我使用的集合有大约 2 个 Mio 小记录和超过 15 个索引。有时我不得不清空它。我认为最快的方法是简单地截断它。但这需要几个小时。
当我之前手动删除所有索引时,只是几秒钟的事情。但是每次之后,我都必须重新创建索引。
截断 with/without 索引有何不同?据我所知,这是否必要,截断意味着:"throw everything away (also the full indexes)"?
一个truncate
命令本身就是一个事务操作。
如果它在中间某处失败,它可以恢复和恢复已经删除的文档。因此,它与遍历集合中的所有文档并逐一删除它们大致相同。
可能有一个 truncate
的快捷版本是有意义的,它只删除集合中的所有数据而没有任何机会恢复文档。当然,这样的 truncate
不能成为另一笔交易的一部分。但是如果选择权留给用户,我觉得也可以。
我使用的集合有大约 2 个 Mio 小记录和超过 15 个索引。有时我不得不清空它。我认为最快的方法是简单地截断它。但这需要几个小时。 当我之前手动删除所有索引时,只是几秒钟的事情。但是每次之后,我都必须重新创建索引。
截断 with/without 索引有何不同?据我所知,这是否必要,截断意味着:"throw everything away (also the full indexes)"?
一个truncate
命令本身就是一个事务操作。
如果它在中间某处失败,它可以恢复和恢复已经删除的文档。因此,它与遍历集合中的所有文档并逐一删除它们大致相同。
可能有一个 truncate
的快捷版本是有意义的,它只删除集合中的所有数据而没有任何机会恢复文档。当然,这样的 truncate
不能成为另一笔交易的一部分。但是如果选择权留给用户,我觉得也可以。