索引就是用来加速查询的.数据库索引与书籍的索引类似:有了索引就不需要翻遍整本书.数据库则可以直接在索引中查找,使得查找速度能提高几个数量级.在索引中找到条目以后,就可以直接跳转到目标文档的位置.在mongo中建立索引则是需要对查询的条件进行分析.例如:所有的查询条件中,都包括"date"键,那么很可能需要建立一个关于"data"的索引.有时候花费数分钟的查询,不如建立适当的索引可能会即刻完成.

通过以下试验查看建立索引和没有建立索引所用时间的对比.

未建索引:



建立索引:

db.getCollection('activity').ensureIndex({"activityType":0})


建立索引后用的时间:



         建立索引后的时间要比未建索引的时间少,我的数据库中数据只有几条数据,但是通过这几条也可以发现建立索引后的查询时间明显比未建索引的时间少,如果数据量大的话,这个对比的效果会更明显的.

         这个是对某个键创建索引,对某个键创建索引会加速对该键的查询,然而,对其他查询可能没有帮助,及时是查询包含了被索引的键.

转载于:https://www.cnblogs.com/chenxiaochan/p/7237561.html

【mongoDB实战】mongo对某个键添加索引相关推荐

  1. 抛出一个问题? Mysql环境下进行Count操作执行的时候速度很慢_需手动给主键添加索引---MySql优化001

    在项目中发现一个表,select count(1) 的时候非常非常慢在10秒左右,解决方法: 在表的主键上添加唯一所以,然后再进行执行select count操作,可以发现,这个时候就变成了0.28秒 ...

  2. Mongodb实战使用指南

    REL_LINK: http://www.mongodb.org.cn/tutorial/9.html 一 启动 启动 mongodb 服务(Mac) $ mongod --config /usr/l ...

  3. MongoDB实战指南(二):索引与查询优化

    数据库保存记录的机制是建立在文件系统上的,索引也是以文件的形式存储在磁盘上,在数据库中用到最多的索引结构就是B树.尽管索引在数据库领域是不可缺少的,但是对一个表建立过多的索引会带来一些问题,索引的建立 ...

  4. Oracle 添加主键和索引

    数据的主键和索引一般情况下都是必须的,特别是表有大量数据的时候,索引和主键更是必不可少,这样可以提供数据的查询效率: 一.创建表的同时创建主键约束 (1)无命名 create table studen ...

  5. Oracle 添加主键、索引、删除主键、索引

    --删除表主键 ALTER TABLE jw_jxrw_wxlsrwkcb DROP CONSTRAINT PK_JW_JXRW_WXLSRWKCB; --删除索引 drop index PK_JW_ ...

  6. MySQL的主键,索引设置和添加

    PRI primary key 表示主键,唯一 写法: id bigint(20) unsigned primary key not null ,uni UNIQUE 表示唯一 写法 id bigin ...

  7. mysql建表语句主键索引_MySQL添加主键、索引

    查看索引 SHOW INDEX FROM  数据库表名 比如:SHOW INDEX FROM order_info; 添加索引 alter table 数据库add index 索引名称(数据库字段名 ...

  8. Oracle添加主键和索引,Oracle 添加主键和索引

    数据的主键和索引一般情况下都是必须的,特别是表有大量数据的时候,索引和主键更是必不可少,这样可以提供数据的查询效率: 一.创建表的同时创建主键约束 (1)无命名 create table studen ...

  9. 给mysql添加主键_MySQL添加主键、索引

    查看索引 SHOW INDEX FROM  数据库表名 比如:SHOW INDEX FROM order_info; 添加索引 alter table 数据库add index 索引名称(数据库字段名 ...

最新文章

  1. debug:g2o cmake时报错“Qt5 not found. Install it and set Qt5_DIR accordingly
  2. 【c语言】蓝桥杯算法提高 算术运算
  3. Azure正式对外发布容器服务,支持Swarm和Mesos
  4. php把数组转换成对象,php怎么将数组转换成对象
  5. idea怎么看sql执行打印_SQL查找是否quot;存在quot;,别再count了,很耗费时间的
  6. C++:41---覆盖和隐藏
  7. plsql的异常提示怎么定位_oracle plsql 异常信息怎样查看
  8. WordPress博客添加首页、文章页、页面、分类页、标签页的关键字和描述
  9. slqite3库查询数据处理方式_SQLite数据库使用 常用命令
  10. Hadoop之基础概念
  11. Flutter BuildOwner之inactive Elements浅析
  12. 需求调研报告(用户需求说明书)编写规范
  13. html5判断屏幕锁屏,js实现自动锁屏功能
  14. 大屏做成这样,领导不重视你都难!
  15. 【HANA系列】SAP 一位SAP培训顾问的建议:SAP HANA应该如何学习?
  16. xamp环境搭建Pikachu实验环境搭建
  17. 如何选择APP内测分发平台?五年开发者亲述
  18. 阿里php开发规范,阿里巴巴java开发手册学习记录,php版
  19. UNP编程:31---名字与地址转换之(服务解析函数:getservbyname()、getservbyport()、struct  servent)
  20. 143-再谈mtx和lock_guard和unique_lock

热门文章

  1. python【蓝桥杯vip练习题库】ADV-235阶乘差
  2. j90度度复数运算_看得懂的复数
  3. 怎么用爬虫筛选简历_Python爬虫面试简历
  4. 网络营销——网站权重并不是判断网站营销水平的唯一标准
  5. 网站权重的提升更需要得到重视
  6. 网站SEO优化该如何提高用户粘度?
  7. 外链对网站SEO优化起什么作用?
  8. 计算机学院陈宇,为了纯粹的追求———记计算机学院“物联网”工作室-湖北第二师范学院电子版《湖北第二师范学院报》...
  9. php动态网页简书,LAMP架构部署和动态网站环境的配置
  10. docker 离线安装 mysql_docker 离线安装