分类分类
2024-02-14 10:20作者:下载吧
前言
当我们从MongoDB中删除文档或集合时,MongoDB并不会将已经占用了的磁盘空间释放,它会一直维护已经占用了磁盘空间的数据文件,尽管数据文件中可能存在大大小小的空记录列表(empty record list)。当客户端程序再次插入文档时,MongoDB会从空记录列表中分配存储空间给新文档。那么为了更加有效的使用磁盘空间,我们需要对mongodb的数据文件做碎片整理以及未使用空间的回收。思想无非两种:
1、对原数据进行重组
2、仅将数据复制出来,形成仅数据的完整备份
以下介绍几种常用的实施方法:
1、compact
2、db.repairDatabase()
3、secondary节点重同步
4、db.copyDatabase()
一、compat
官网对该命令的定义:对集合中的所有数据和索引进行重写和碎片整理。
使用方法
use yourdatabase;
db.runCommand({ compact : ‘yourCollection’ });
相关文章