MongoDB数据库管理命令touch
2015-10-27 09:08
465 查看
MongoDB数据库管理命令touch
在2.2版本新增加
touch命令从数据存储层加载数据到内存中。touch可以加载数据(如文档)索引或文档和索引。使用该
命令确保一个集合,和/或它的索引,在另一个操作之前已经在内存中。通过加载集合或索引到内存中,
mongod可以理想地更加有效地实施随后的操作。touch命令有如下原型格式:
默认,data和index为false,touch将不会实施操作。例如,加载records集合的数据和索引,你将会在
mongo shell中使用如下命令:
考虑
性能影响
使用touch来控制或调整mongod存储在内存中的内容,可以移走在内存中的其他记录数据并有碍性能。在
生产系统中小心使用。
复制和辅助成员
如果你在一个辅助成员上运行touch,辅助成员会进入RECOVERING状态,在touch操作期间阻止客户端发
送读操作。当touch完成,辅助成员将会自动返回SECONDARY状态。
存储引擎
在版本3.0.0修改
如果当前的存储引擎不支持touch,touch命令将会返回错误。
MMAPv1存储引擎支持touch。
WiredTiger存储引擎不支持touch。
参见:https://docs.mongodb.org/manual/reference/command/touch/
在2.2版本新增加
touch命令从数据存储层加载数据到内存中。touch可以加载数据(如文档)索引或文档和索引。使用该
命令确保一个集合,和/或它的索引,在另一个操作之前已经在内存中。通过加载集合或索引到内存中,
mongod可以理想地更加有效地实施随后的操作。touch命令有如下原型格式:
{ touch: [collection], data: [boolean], index: [boolean] }
默认,data和index为false,touch将不会实施操作。例如,加载records集合的数据和索引,你将会在
mongo shell中使用如下命令:
db.runCommand({ touch: "records", data: true, index: true })touch将不会阻塞一个mongod实例上的读写操作,可以运行在复制集的辅助成员上。
考虑
性能影响
使用touch来控制或调整mongod存储在内存中的内容,可以移走在内存中的其他记录数据并有碍性能。在
生产系统中小心使用。
复制和辅助成员
如果你在一个辅助成员上运行touch,辅助成员会进入RECOVERING状态,在touch操作期间阻止客户端发
送读操作。当touch完成,辅助成员将会自动返回SECONDARY状态。
存储引擎
在版本3.0.0修改
如果当前的存储引擎不支持touch,touch命令将会返回错误。
MMAPv1存储引擎支持touch。
WiredTiger存储引擎不支持touch。
参见:https://docs.mongodb.org/manual/reference/command/touch/
相关文章推荐
- MongoDB正则表达式及应用
- mongoDB的安装
- MongoDB 从0开始
- JS脚本强制kill掉MongoDB慢查询
- mongodb初级
- Simple example - Node.js, Restify, MongoDb and Mongoose
- MongoDB的db.currentOp()输出结果分析
- MongoDB的db.currentOp()输出结果分析
- 关于mongodb慢查询
- MongoDB创建一个用户自定义角色
- MongoDB创建一个用户自定义角色
- MongoDB游标操作(4)
- MongoDB查看当前操作db.currentOp()
- 搭建高可用mongodb集群(五)--集群搭建的三种方式
- 搭建高可用mongodb集群(四)—— 分片
- 搭建高可用mongodb集群(三)—— 深入副本集内部机制
- MongoDB 与传统关系型数据库mysql比较
- Mongodb数据库操作
- MongoDB数组修改器更新数据
- mongodb与sql聚合对应图 M