mongodb集合批量执行compact

compact操作

mongodb数据库,当存储引擎是wiredtiger时,如果进行集合内数据删除,mongodb不会将释放集合占用的空间,需要通过compact命令来进行集合空间的整理释放,给我的感觉是类似于操作系统的碎片整理。

单个集合的compact

db.runCommand({ compact : 'myCollection' });

全部集合的compact

// This script loops though the list of collection names in a MongoDB and runs the compact operation on them
// Simply paste this into the Mongo shell

use testDbName;
db.getCollectionNames().forEach(function (collectionName) {
    print('Compacting: ' + collectionName);
    db.runCommand({ compact: collectionName });
});

注意

compact时会阻塞当前数据库的读写操作,所以一定要在数据库无访问时执行compact。

参考

MongoDB compact 命令详解
Compact all collections inside of a MongoDB database

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值