mongodb - mongo删除文档导致索引变大

 U友50140932 发布于 2022-10-25 03:37

我们使用的是副本mongo,有一个collection中大概有1.5亿条记录,[size=10GB,Storage Size=3.4GB,Total Index Size:6GB]
因为是保存的历史记录,我们使用remove删掉30天前的记录(大概200万),但是发现索引大小从6GB涨到9GB.

请问该如何正确的删除历史记录?

2 个回答
  • 这个在文档中说明了,删除数据的时候并不会删除索引,即使整个集合你全部删除了都不会删除索引。所以这个时候,我建议你进行重建索引。

    2022-11-12 01:39 回答
  • 一般情况下并不需要什么特别的操作来进行删除操作。MongoDB使用的Btree也是自平衡的不用去重建,除了3.0.7及更早版本有一个bug SERVER-21063会影响btree的平衡外并没有听说有什么特别需要注意的地方。
    从6G增长到9G这个情况从未听说过。可以看一下从结点的情况是否也是这样。如有可能,为了验证目的,可以删除一个从结点上的索引重新创建看大小是否有不同。
    编辑:在尝试之前可以试一下compact看是否有用。注意对实例的影响,最好拆一个secondary下来单独测试。

    2022-11-12 01:39 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有