MongoDB数据库管理命令touch

本文涉及的产品
云数据库 MongoDB,通用型 2核4GB
简介:

在2.2版本新增加

 

touch命令从数据存储层加载数据到内存中。touch可以加载数据(如文档)索引或文档和索引。使用该

命令确保一个集合,和/或它的索引,在另一个操作之前已经在内存中。通过加载集合或索引到内存中,

mongod可以理想地更加有效地实施随后的操作。touch命令有如下原型格式:   

1
{ touch: [collection], data: [boolean],  index : [boolean] }

 

默认,data和index为false,touch将不会实施操作。例如,加载records集合的数据和索引,你将会在

mongo shell中使用如下命令:   

1
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/
















本文转自UltraSQL51CTO博客,原文链接: http://blog.51cto.com/ultrasql/1706615,如需转载请自行联系原作者



相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
1月前
|
SQL 关系型数据库 MySQL
|
1天前
|
NoSQL MongoDB 数据库
MongoDB数据恢复—MongoDB数据库文件被破坏的数据恢复案例
服务器数据恢复环境: 一台Windows Server操作系统服务器,服务器上部署MongoDB数据库。 MongoDB数据库故障&检测: 工作人员在未关闭MongoDB数据库服务的情况下,将数据库文件拷贝到其他分区。拷贝完成后将原MongoDB数据库所在分区进行了格式化操作,然后将数据库文件拷回原分区,重新启动MongoDB服务,服务无法启动。
|
2天前
|
SQL XML 数据库
sql导入数据库命令
在SQL Server中,数据库导入可通过多种方式实现:1) 使用SSMS的“导入数据”向导从各种源(如Excel、CSV)导入;2) BULK INSERT语句适用于导入文本文件;3) bcp命令行工具进行批量数据交换;4) OPENROWSET函数直接从外部数据源(如Excel)插入数据。在操作前,请记得备份数据库,并可能需对数据进行预处理以符合SQL Server要求。注意不同方法可能依版本和配置而异。
|
5天前
|
NoSQL MongoDB Redis
Python与NoSQL数据库(MongoDB、Redis等)面试问答
【4月更文挑战第16天】本文探讨了Python与NoSQL数据库(如MongoDB、Redis)在面试中的常见问题,包括连接与操作数据库、错误处理、高级特性和缓存策略。重点介绍了使用`pymongo`和`redis`库进行CRUD操作、异常捕获以及数据一致性管理。通过理解这些问题、易错点及避免策略,并结合代码示例,开发者能在面试中展现其技术实力和实践经验。
53 8
Python与NoSQL数据库(MongoDB、Redis等)面试问答
|
7天前
|
SQL 数据库 HIVE
Hive【基础知识 05】常用DDL操作(数据库操作+创建表+修改表+清空删除表+其他命令)
【4月更文挑战第8天】Hive【基础知识 05】常用DDL操作(数据库操作+创建表+修改表+清空删除表+其他命令)
19 0
|
16天前
|
JSON NoSQL MongoDB
mongodb 命令行连接及基础命令
mongodb 命令行连接及基础命令
|
1月前
|
Shell Linux 数据库
【Shell 命令集合 网络通讯 】Linux 更新邮件别名数据库 newaliases命令 使用指南
【Shell 命令集合 网络通讯 】Linux 更新邮件别名数据库 newaliases命令 使用指南
29 1
|
1月前
|
监控 Shell Linux
【Shell 命令集合 磁盘管理 】Linux 检查和创建磁盘配额数据库 quotacheck命令使用教程
【Shell 命令集合 磁盘管理 】Linux 检查和创建磁盘配额数据库 quotacheck命令使用教程
30 0
|
1月前
|
存储 Shell Linux
【Shell 命令集合 文件管理】Linux 更新locate命令所使用的数据库 updatedb命令解析
【Shell 命令集合 文件管理】Linux 更新locate命令所使用的数据库 updatedb命令解析
155 0
|
1月前
|
存储 关系型数据库 MySQL