`
风雪涟漪
  • 浏览: 497695 次
  • 性别: Icon_minigender_1
  • 来自: 大连->北京
博客专栏
952ab666-b589-3ca9-8be6-3772bb8d36d4
搜索引擎基础(Search...
浏览量:8787
Ae468720-c1b2-3218-bad0-65e2f3d5477e
SEO策略
浏览量:17724
社区版块
存档分类
最新评论

MongoDB 后台中操作索引

阅读更多

MongoDB 后台中操作索引

从服务器或者复制集的次服务器(Slaves and Secondaries)总是在前段来做索引的操作。 即使在主服务器设置参数background:true,当在 the slave/secondary创建索引的时候,仍然不能够提供查询服务。

默认请款下 ensureIndex() 操作是阻塞的, 以及在操作完成之前,会屏蔽数据库所有的操作。1.3.2+, 增加了后台索引参数。

如果要在后台来创建索引,可以添加background:true 。 例子:

> db.things.ensureIndex({x:1}, {background:true});
> db.things.ensureIndex({name:1}, {background:true, unique:true,... dropDups:true});

如果background开启状态,在创建索引的时候,包括写操作都不会被阻塞。在索引创建完成之前,查询还是不能应用索引。

虽然索引操作在后台,可以进行其他的数据库并发操作,但是在shell中,如果索引不完成也不会返回任何的提示。如果要做其他数据库操作在打开一个新的shell。

要注意的是,后台模式使用增量的方法来创建索引,要比前段创建要慢。

可以使用currentOp(),来查看创建索引的操作。也可以使用 db.killOp() 终止这个进程。

 

注意事项

  • 同一时间每个collection只允许创建一个索引。
  • 当后端创建索引的时候,一些系统管理员操作,如 repairDatabase也不能使用。
  • v1.4+版本可以使用。
分享到:
评论

相关推荐

    MongoDB中的定时索引示例详解

    MongoDB中存在一种索引,叫做TTL索引(time-to-live index,具有生命周期的索引),这种索引允许为每一个文档设置一个超时时间。一个文档达到预设置的老化程度后就会被删除。 数据到期对于某些类型的信息非常有用,例如...

    Mongodb设置TTL索引自动清除数据与过期数据的方法

    当你在集合中某一个字段建立TTL索引后,后台会有一个单线程,通过不断查询(默认60s一次)索引的值来判断document是否有过期,并且删除文档的动作还依据mongod实例的负载情况,如果负载很高,可能会稍微延后一段时间...

    MongoDB性能篇之创建索引,组合索引,唯一索引,删除索引和explain执行计划

    MongoDB 提供了多样性的索引支持,索引信息被保存在system.indexes 中,且默认总是为_id创建索引,它的索引使用基本和MySQL 等关系型数据库一样。其实可以这样说说,索引是凌驾于数据存储系统之上的另一层系统,所以...

    MongoDB创建一个索引而性能提升1000倍示例代码

    MongoDB 创建索引的语法 1.为普通字段添加索引,并且为索引命名 db.集合名.createIndex( {“字段名”: 1 },{“name”:’idx_字段名’}) 说明: (1)索引命名规范:idx_<构成索引的字段名>。如果字段名字过长...

    Redis/MongoDB 接口封装(C++)

    5. 开发 AbstractMongodbModule 类处理通用的 MongoDB 数据库表数据操作 数据库中不同的表都有自己的 AbstractMongodbModule 子类对应 6. 用 Perl 开发自动代码生成器,上层程序员对照数据库表结构写 .tmpl 配置...

    基于Morphia实现MongoDB按小时、按天聚合操作方法

    MongoDB按照天数或小时聚合 需求 最近接到需求,需要对用户账户下的设备状态,分别按照天以及小时进行聚合,以此为基础绘制设备状态趋势图. 实现思路是启动定时任务... // 设置数据超时时间(TTL,MongoDB根据TTL在后台

    mongobee-example:这旨在显示mongoBee的一些工作示例-一个Java工具,可帮助您管理MongoDB中的更改并将其与应用程序同步

    请注意,索引是在后台构建的,以避免将数据库锁定在生产环境中。 变更集 更改日志示例显示: 创建不同类型的索引 从代码创建“核心”文档 从模板数据库克隆“核心”集合(不受版本控制) 在版本控制下从JSON内容...

    MongoDB的PHP驱动方法与技巧

    当与mongodb复制集建立连接时,驱动程序首先尝试连接并验证集群中每个非 隐藏的节点。如果一个节点是“down”状态,将跳过。然而,如果一个节点是“UP”状态,但是持有写锁,那么验证将没法执行下去,因此该驱动程序...

    基于SpringBoot+Shiro+JWT+Redis 小R商城 后台管理系统 的后端项目.zip

    MyISAM则更侧重于读取密集型操作,提供全文索引支持,适用于读多写少的场景。这种多引擎架构使得MySQL能够适应不同业务需求,提供高度定制化的存储解决方案。 性能与可扩展性 MySQL通过高效的缓存机制、查询优化器...

    支持.Net和.Net Core的网站框架ZKWeb.zip

    123456索引文档最终更新: 2016-08-20ZKWeb索引文档ZKWeb.Plugins索引文档 (改版中)性能数据2016-06-17 (i7 Q720 1.6Ghz x 4 core 8 threads, ab -n 8000 -c 16, real machine, asp.net core)首页 0.852ms, 0.799ms,...

    JAVA高并发高性能高可用高扩展架构视频教程

    在springMVC中实现原始的Excel文件下载方式 企业级分布式缓存技术之(redis详解) 企业高并发基石(Tomcat服务器性能优化) spring事务处理 课程文档 高并发之基础数据MySql调优 mongodb 三级联动课程资料 应用架构之...

    musicShare:音乐分享平台(五个版本vue,angular,react,angular2,vuex)

    在线项目展示(移动端或电脑端) vue+vuex angular vue react angular2 测试账号hjp或者hjp2密码都是123456目录索引后台使用nodeJS与mongoDB,想拉下来自己搭建测试的同学详见下方的MS角使用原生JS构建angular框架无...

    2021最新java面试合集pdf.rar

    MongoDB学习笔记.docx mybatis原理.docx MyBatis面试专题.docx MyBatis面试专题及答案.pdf Mybatis面试题(含答案).pdf MySQL性能优化的21个最佳实践.pdf mysql面试专题.docx MySQL面试题(含答案).pdf Netty面试...

Global site tag (gtag.js) - Google Analytics