`

Mongodb索引管理

阅读更多
MongoDB 中的索引包含一下几类
唯一索引
松散索引(只会让指定字段不为空的行参与到索引创建中来)
多值索引(对一个array类型创建索引)
复合索引(如果想用到复合索引,必须在查询条件中包含复合索引中的前N个索引列。然而如果查询条件中的键值顺序和复合索引中的创建顺序不一致的话,MongoDB可以智能的帮助我们调整该顺序,以便使复合索引可以为查询所用)

创建索引命令:
db.test.ensureIndex({"username":1})

或者
spec = {ns: "test.users", key: {‘addresses.zip’: 1}, name: ‘zip’}
db.system.indexes.insert(spec, true)

创建时指定名字:
db.test.ensureIndex({"username":1},{"name":"testindex"})

//数字1表示username键的索引按升序存储,-1表示age键的索引按照降序方式存储
删除索引命令
db.test.dropIndex({"username":1})

或者
db.runCommand({deleteIndexes: "test", index: "username"})

唯一索引创建命令
db.test.ensureIndex({"username":1},{unique:true})

唯一索引消除重复文档
db.test.ensureIndex({"username":1},{unique:true, dropDups:true})

创建松散索引
db.test.ensureIndex({"username":1},{sparse:true})

创建多值索引
db.test.dropIndex({"tags":1})
{ name: "Wheelbarrow",
tags: ["tools", "gardening", "soil"]
}
//在生成索引时,会为tags中的三个值分别生成三个索引元素,索引中tools,gardening,soil三个值都会指向这同一行数据。相当于分裂成了三个独立的索引项


创建复合索引
db.test.ensureIndex({"username":1, "age":1})


如果在为已有数据的文档创建索引时,可以执行下面的命令,以使MongoDB在后台创建索引,这样的创建时就不会阻塞其他操作。但是相比而言,以阻塞方式创建索引,会使整个创建过程效率更高,但是在创建时MongoDB将无法接收其他的操作
db.test.ensureIndex({"username":1},{"background":true})
分享到:
评论

相关推荐

    MongoDB索引管理.pdf

    在 MongoDB 中,索引管理是优化查询性能的关键环节。以下是对 MongoDB 索引管理的深入探讨: 1. **查看索引** MongoDB 提供了多种方法来查看已创建的索引。通过 `getIndexes()` 方法,你可以获取到指定集合上的...

    MongoDB索引管理与高级索引.pdf

    本篇文章将详细探讨MongoDB中的索引管理以及高级索引概念。 1. **查看索引** MongoDB 提供了两种方法来查看集合上的索引。`db.COLLECTION_NAME.getIndexes()` 方法返回集合上所有索引的详细信息,而 `db.system....

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

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

    MongoDB学习笔记(六) MongoDB索引用法和效率分析

    MongoDB是一种流行的NoSQL数据库,它的索引机制与传统的关系型数据库类似,旨在提升查询和排序的速度。在MongoDB中,索引对于优化查询性能至关重要,尤其在处理大量数据时。下面将详细介绍MongoDB中不同类型的索引...

    MongoDB原理与实战-阿里云-张友东

    #### 五、MongoDB索引管理 **1.7 MongoDB索引原理** - **索引类型**: MongoDB支持多种索引类型,包括B-tree索引、唯一索引、复合索引等。 - **索引结构**: 索引使用B-tree结构,便于快速查找。 **1.7.1 MongoDB...

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

    - **索引管理**:维护索引的健康状况,优化查询性能。 #### MongoDB复制 - **MongoDB中的复制**:通过副本集实现数据冗余和负载均衡。 - **复制原理**:主节点负责接收写入操作,其他节点作为副本进行数据同步。 - ...

    mongodb管理工具

    - 图形化管理:提供了可视化图表,如数据大小、索引性能等。 - 脚本支持:支持JavaScript脚本编写,便于自动化任务。 - 多语言:支持多种语言界面,方便全球用户使用。 2. **RockMongo** RockMongo是另一个开源...

    MongoDB索引的创建docx.pdf

    索引是数据库管理系统中的关键元素,它们能够显著提升查询性能,特别是在大型数据集上。在 MongoDB 中,索引的创建对于优化查询效率至关重要。以下是关于MongoDB创建索引的一些详细知识点: 1. **创建索引的方法**...

    MongoDB索引使用详解

    MongoDB索引是数据库性能优化的关键工具,它们类似于书籍的目录,可以帮助快速定位到所需的数据,从而大大提高查询效率。在没有索引的情况下,MongoDB必须遍历整个集合来找到匹配的文档,这在数据量大的时候会导致...

    [MongoDB权威指南].(美).霍多罗夫.(美).迪洛尔夫.(译)程显峰.扫描版

    #### 五、MongoDB索引管理 - **创建索引**:通过`createIndex()`方法创建索引,可以提高查询效率。 - **唯一索引**:确保索引字段的值是唯一的。 - **复合索引**:在一个索引中包含多个字段。 - **全文搜索索引**:...

    一款Linux、数据库、Redis、MongoDB统一管理平台.docx

    Linux、数据库、Redis、MongoDB 统一管理平台 一、Linux 统一管理平台 Linux 统一管理平台是基于 DDD(领域驱动设计)分层架构实现的,提供了 ssh 终端、文件查看和操作、脚本管理执行、进程操作、运行状态查看等...

    MongoDB命名索引和唯一索引.pdf

    总结来说,命名索引提供了更好的索引管理,让你可以为每个索引赋予有意义的名称。而唯一索引则确保了数据的唯一性,防止插入重复记录,这对于保持数据的完整性和一致性非常重要。在 MongoDB 中正确地使用这两种索引...

    RockMongo MongoDB数据库管理工具源码

    2. **易用性**:它提供了一个简洁的图形用户界面(GUI),用户可以通过浏览器访问并执行常见的数据库操作,如创建、查看、更新和删除数据,以及管理集合、索引和用户权限。 3. **安全连接**:RockMongo支持安全的SSL...

    mongodb 数据库添加TTL 索引,自动清理数据库

    MongoDB的一个核心功能是其索引机制,其中包括了时间对数据失效进行管理的TTL(Time To Live)索引。TTL索引能够让集合中的数据拥有一个固定的生命周期,当数据超过这个生命周期之后,相关文档会自动被删除,这对于...

    MongoDB入门到云上开发视频.zip

    网盘文件永久链接 目录 课时1:MongoDB数据库入门.mp4 课时2:MongoDB数据数据查询与分析.mp4 课时3:MongoDB数据库核心知识.mp4 ...课时11:MongoDB索引原理及使用.mp4 课时12:MongoDB Sharding原理与使用.mp4

    MongoDB简单索引.pdf

    MongoDB 是一种流行的开源文档数据库系统,以其灵活性和高性能而受到许多开发者的青睐。...在设计和管理MongoDB数据库时,应根据查询模式和数据特性,明智地创建和维护索引,以实现最佳的性能表现。

    MongoDB集群管理工具mongo3.zip

    mongo 是一款超酷的 MongoDB 集群管理...主要特性:非常容易管理你的 MongoDB 集群信息可以获取你配置的实时快照信息深入集群,数据库,集合和索引可以从单个 Web 界面管理所有的 MongoDB 文档 标签:mongo3

    mongoDB数据库WEB远程维护管理软件

    7. 图形化索引管理:创建、修改和删除索引,提升查询速度。 8. 集群管理:对于运行在集群环境中的MongoDB,这些工具可以提供集群状态的可视化,包括分片、复制集等。 TreeDMS-2.1.3可能是该Web管理工具的一个版本...

Global site tag (gtag.js) - Google Analytics