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

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 数据库添加TTL 索引,自动清理数据库

    一旦设置了TTL索引,MongoDB的`mongod`进程会启动一个后台线程,该线程定期检查索引字段,找到过期的文档,并将它们从数据库中移除。这个后台线程每60秒执行一次,意味着文档可能不会在精确的失效时间被删除,存在...

    mongodb搭建,shell操作,索引,副本集

    ### MongoDB搭建、Shell操作、索引、副本集 #### MongoDB介绍 MongoDB是一款基于分布式文件存储的开源数据库系统。在各类NoSQL数据库中,MongoDB因其高性能、易扩展及丰富的特性而受到广泛关注。 ##### 官方文档 -...

    关于MongoDB索引管理-索引的创建、查看、删除操作详解

    在MongoDB中,索引的管理包括创建、查看和删除等操作,这些操作对于优化数据库性能至关重要。 1. **创建/重建索引** - **创建索引**:MongoDB 使用 `ensureIndex()` 方法创建新索引。例如,`db.COLLECTION_NAME....

    spring boot & mongoDB后台系统.zip

    《Spring Boot与MongoDB后台系统开发详解》 在现代Web应用开发中,Spring Boot和MongoDB的结合使用已经成为一种常见的技术栈。本文将深入探讨如何利用这两种技术构建一个高效的后台系统,同时也会提及Node.js在其中...

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

    本篇将深入探讨MongoDB中的索引创建、组合索引、唯一索引、删除索引以及`explain`执行计划。 1. **基础索引** MongoDB在创建集合时,默认为`_id`字段创建一个唯一的升序索引,这是无法删除的。创建其他索引,例如...

    MongoDB简单索引.pdf

    例如,`background`参数可以指定在后台创建索引,避免阻塞其他数据库操作。`unique`参数用于创建唯一索引,确保字段内的所有值都是唯一的。`name`参数允许自定义索引的名称,而`dropDups`参数在创建唯一索引时可选择...

    大数据环境下mongoDB为何要加索引浅析

    在MongoDB中,为字段添加索引可以使得查询操作避免全表扫描,特别是在大数据量的情况下,效果尤为明显。例如,一个包含30多万条记录的集合,如果没有索引,查询可能需要花费8秒,而添加了合适的索引后,查询时间可以...

    MongoDB索引管理.pdf

    创建索引时,默认情况下,MongoDB 会对相关集合进行锁定,这可能导致在创建过程中对其他操作造成短暂的影响。为了避免这种情况,你可以选择在后台创建索引,这样索引构建过程不会阻塞其他读写操作。使用 `...

    egg-admin后台管理系统后端,基于eggjs+mongodb.zip

    文档存储使得mongodb能轻松处理复杂数据结构,集合则类似于关系数据库中的表,而索引和分片则为高性能提供了保障。 三、eggjs与mongodb的结合 1. 数据库连接:在eggjs中,可以使用官方提供的egg-mongoose插件来实现...

    MongoDB索引的创建docx.pdf

    在 MongoDB 中,索引的创建对于优化查询效率至关重要。以下是关于MongoDB创建索引的一些详细知识点: 1. **创建索引的方法**: MongoDB 使用 `ensureIndex()` 方法来创建索引。尽管在较新的版本中,`createIndex()...

    MongoDB中的定时索引示例详解

    MongoDB中的定时索引,也称为TTL索引(Time-to-Live Index),是一种特殊类型的索引,允许为文档设置一个生命周期。这种索引的主要作用是自动删除达到预设老化时间的文档,适用于那些需要在数据库中存储有限时间的...

    MongoDB 索引 和explain分析查询速度1

    创建索引时还可以设置其他参数,例如`sparse`(稀疏索引)只索引包含指定字段的文档,`background`(后台创建)允许在不影响其他操作的情况下创建索引。 四、使用`explain` `explain`是分析查询性能的重要工具,它...

    MongoDB中创建索引需要注意的事项

    以下是一些在 MongoDB 中创建索引需要注意的重要事项: 1. **前台与后台创建索引**: - 前台创建索引(`--foreground`)会阻塞所有其他数据库操作,直到索引构建完成。这种方式适用于小型集合,因为它们不会占用太...

    MongoDB安装包

    此外,MongoDB还支持复制集(Replica Sets)以实现数据冗余和高可用性,分片(Sharding)以实现水平扩展,以及丰富的聚合框架和地理空间索引,使其在大数据和实时分析场景下表现出色。 在实际应用中,还需要考虑...

    MongoDB数据库介绍及安装

    以上是对MongoDB数据库及其安装的一般性介绍,通过深入学习提供的PPT资源,可以更详细地了解MongoDB的查询技巧、索引使用以及基本操作。在实践中,理解这些概念和技术对于有效管理和利用MongoDB数据库至关重要。

    mongoDB相关教程以及windows版mongodb

    其次,"java调用mongodb的pdf文档"将深入到Java开发者如何在应用程序中集成和操作MongoDB。Java驱动程序是MongoDB官方支持的多种语言驱动之一,提供了一种方便的方式来执行CRUD(创建、读取、更新、删除)操作。这份...

    django+mongodb+hui 实现的后台管理系统.zip

    在本项目中,MongoDB替代了传统的SQL数据库,用于存储后台管理系统中的各种数据。MongoDB支持文档型数据结构,使得数据操作更加直观,与Django的ORM(对象关系映射)机制相融合,能便捷地进行数据存取。 HUI前端...

Global site tag (gtag.js) - Google Analytics