1. 简单介绍

索引是为了加速查询。
假设没有索引,mongodb在查询时会做表扫描,假设集合非常大时,这个查询会非常慢。
一般对创建查询时的键都建立索引。
为排序字段建立索引,假设对未建立索引的字段sort,mongodb会将全部的数据取到内存中来排序,
假设集合大到不能在内存中排序,则mongodb会报错。

2. mongodb创建索引

创建索引使用ensureIndex命令。
> db.people.ensureIndex({"username" : 1});

上面语句对people集合的username键做了索引。

3. 组合索引

对于组合查询或排序,建立组合索引。
> db.people.ensureIndex({"date" : -1, "username" : 1});

索引键的1或者-1,表示索引创建的顺序,1为升序, -1为倒序。

假设索引仅仅有一个键,则方向无关紧要。

4. 内嵌文档建立索引

为blog集合的评论依照时间建立索引:
> db.blog.ensureIndex({"comments.date" : 1});

5. 唯一索引

唯一索引确保集合中的每一个键都是唯一值。
> db.people.ensureIndex({"username" : 1}, {"uniqe" : true});

对已有的集合创建唯一索引时,有可能已经有反复值了,这样会创建索引失败。

dropDups会保留第一个文档,删除后面反复的值。
> db.people.ensureIndex({"username" : 1}, {"unique" : true, "dropDups" : true});

6. 查看建立的索引

索引放在system.indexes集合中。
> db.system.indexes.find();

能够查看索引的key, 名称,属于哪个集合。

7. 删除索引

通过索引的名称,使用dropIndexes能够删除索引。
索引名称通过system.indexes来查询。
> db.user.dropIndexes({"username_1" : 1});

地址:http://blog.csdn.net/yonggang7/article/details/28100855

Mongodb的索引相关推荐

  1. Mongodb的索引操作

    Mongodb的索引操作 1. 为什么mongdb需要创建索引 加快查询速度 进行数据的去重 2. mongodb创建简单的索引方法 语法:db.集合名.ensureIndex({属性:1}),1表示 ...

  2. MongoDB复合索引详解

    摘要: 对于MongoDB的多键查询,创建复合索引可以有效提高性能. 什么是复合索引? 复合索引,即Compound Index,指的是将多个键组合到一起创建索引,这样可以加速匹配多个键的查询.不妨通 ...

  3. MongoDB数据库索引基础知识与实战技巧

    本文内容源自Kyle Banker 的MongoDB In Action一书.主要描述了MongoDB索引相关的一些基础知识和使用技巧. 索引类型 虽然MongoDB的索引在存储结构上都是一样的,但是 ...

  4. 五、MongoDB的索引

    一.MongoDB的下载.安装与部署 二.MongoDB的基础知识简介 三.MongoDB的创建.更新和删除 四.MongoDB的查询 五.MongoDB的索引 1.简介 它就像是一本书的目录,如果没 ...

  5. mongodb及其索引的使用例子

    1.获取某个属性最大的value值并自增范例 因为mongo不支持类似select max操作,也不支持递增int的操作,所以采用目前的方案 #找到符合table_name的记录,find输出时只输出 ...

  6. mongo 唯一约束索引_快速掌握mongoDB(三)——mongoDB的索引详解

    1 mongoDB索引的管理 本节介绍mongoDB中的索引,熟悉mysql/sqlserver等关系型数据库的小伙伴应该都知道索引对优化数据查询的重要性.我们先简单了解一下索引:索引的本质就是一个排 ...

  7. MongoDB 教程索引 (附有视频)

    MongoDB 教程索引 MongoDB 教程一: 安装和使用 (Mongodb启动命令mongod参数说明) MongoDB 教程二: 添加, 删除,查询 shell命令 MongoDB 教程三: ...

  8. MongoDB 谨防索引seek的效率问题【华为云技术分享】

    目录 背景 初步分析 索引seeks的原因 优化思路 小结 声明:本文同步发表于 MongoDB 中文社区,传送门: http://www.mongoing.com/archives/27310 背景 ...

  9. 给MongoDB添加索引

    用过数据库的都知道,数据库索引与书籍的索引类似,都是用来帮助快速查找的. MongoDB的索引跟关系型数据库的索引几乎一致. 1. 索引的创建 mongodb采用ensureIndex来创建索引,如: ...

最新文章

  1. android activity根节点addview_Activity问你4个问题,你敢回答吗?
  2. MySQL删除关联表的数据
  3. 为啥linux分区是nvme0n1,NAS 篇五:尝试达成最终目标: 黑裙+万兆网卡+Nvme 存储空间的实现与测试...
  4. AGC018F. Two Trees
  5. sqlserver 清除日志
  6. sharepoint获取当前网址
  7. Centos7 linux 卸载自带安装的jdk 并yum自动安装jdk1.8
  8. HDU2016 数据的交换输出【入门】
  9. Linux下打开Android调试器DDMS的方法
  10. HP Networking/Comware NETCONF interface quick tutorial (using python’s ncclient and pyhpecw7)
  11. Visual Attention Network
  12. 威海市第四届ACM大赛感想
  13. 苹果手机微信语音没声音怎么回事_iPhone XS Max相机、普通照片模式下拍照没声音怎么办?...
  14. 中医针灸学综合练习题库【9】
  15. python_day7
  16. 5个视频剪辑必用网站
  17. 在markdown中控制文字的颜色,背景色,字体大小,字体样式及颜色RGB转换工具链接
  18. JAVA12_09学习总结(Java注解,JavaScript)
  19. Android进程间通信总结
  20. 盘点丨一文了解DAO的现状

热门文章

  1. oracle 分表设计,oracle 分库分表(sharding)
  2. HTML元素水平居中和垂直居中
  3. jmh气象传真图网站_在冬奥滑雪场,他凭着气象信息,念好一本生意经
  4. 使用python下载文件_详解使用Python下载文件的几种方法
  5. Php数组面包屑导航,PHP 导航提示(面包屑型轨迹)
  6. Java高并发编程(五):Java中的锁Lock
  7. pcm 采样率转换_Cool Audio Video Converter(音视频格式转换工具)V2.18 最新版 - 绿色先锋下载 -...
  8. Windows环境下如何配置wamp的虚拟域名
  9. apache虚拟机配置步骤和修改访问端口
  10. poj3264 线段树