mongodb中的索引二

原创 2016年08月29日 13:53:22

通常mongodb中的索引的创建方式如下:
{sortkey:1querycriteria:1}
这种方式下,已经排好顺序了,所以只要在排好序的key中找满足查询条件的记录即可,需要扫描的数据量比较大,还有一种索引的创建方式:
{querycriteria:1,sortkey:1}这种创建的方式中,不需要扫描很多的记录,在索引中查找满足条件的记录,但是需要在内存中排序,如果满足记录的条件很多,就要消耗很多的时间去排序,可能会很慢,通常查询是带limit的,所以第一种方式可能也无需扫描太多的记录就能返回正常的记录,可能效率可能会更高。
explan输出中scanandsort代表了,索引查找后,在内存中有排序操作
nscannedobject代表的是根据索引的指针去实际查找对象的数量
nscanned代表扫描索引条目数量
indexonly是否只用索引就返回了满足的查询,无需在回表操作
n代表返回的文档数量
nyields代表为了让写操作顺利进行,本次查询暂停的次数
allplans代表的是本次查询尝试的每个查询计划
可以使用hint提示使用哪种索引
如果只是单键值的查询,那么升序降序是不太紧要的,mongodb可以利用同一个索引顺序或逆序的遍历,索引键只需要在复合索引上使用。
hint使用方式
db.c.find({“age”:14,”username”:/*/}).hint(“username”:1,”age”:1})
创建唯一索引
db.user.createindex({“username”:1},{“unique”:true})
大于8KB的字段是不会被添加到索引中的,创建索引的时候也不会有任何提示
在创建索引的时候,可以指定索引名称,默认是索引字段的组合,当索引字段过多的时候会出现问题
db.user.createindex({“username”:1},{“name”:”idx_test})
mongodb中创建索引会阻塞读写,这个操作要慎重了,可以指定background选项,但是仍会有很大的影响

版权声明:本文为博主原创文章,未经博主允许不得转载。

学习MongoDB 八: MongoDB索引(索引限制条件)(二)

我们上一篇介绍了索引基本操作,通过db.collection.createIndex(keys, options)语法创建索引,我们继续介绍地理空间索引、索引的限制,使我们在MongoDB时能提高查询...
  • congcong68
  • congcong68
  • 2015年07月20日 23:27
  • 3778

MongoDB索引的种类与使用

一:索引的种类1:_id索引:是绝大多数集合默认建立的索引,对于每个插入的数据,MongoDB都会自动生成一条唯一的_id字段 2:单键索引:1.单键索引是最普通的索引 2.与_id索引不同,单键索...
  • u013725455
  • u013725455
  • 2016年07月26日 17:31
  • 5100

MongoDB初探-细说索引

一、索引操作 索引是为了优化查询速度而生,MongoDB的索引和其他关系型数据库,比如MySQL,Oracle等的索引几乎相同,对于它们的索引优化经验同样适用于MongoDB。 1、创建索引 M...
  • qbg19881206
  • qbg19881206
  • 2014年03月22日 16:12
  • 2799

mongodb调优那些事(二)-索引

集合作用是存储采集的信息,字段包括发布日期pubDate(int型)、分值score(int型)、发布时间pubTime(date型)、相似数量simNum(int型)、是否垃圾isRub(int型)...
  • zxmsdyz
  • zxmsdyz
  • 2016年03月18日 17:36
  • 815

【mongoDB中级篇②】索引与expain

索引的操作 数据库百分之八十的工作基本上都是查询,而索引能帮我们更快的查询到想要的数据.但是其降低了数据的写入速度,所以要权衡常用的查询字段,不必在太多字段上建立索引. 在mongoDB中默认是用...
  • longxingzhiwen
  • longxingzhiwen
  • 2017年06月26日 18:08
  • 141

二、MongoDB的高级查询(聚合、游标、管道、索引)

MongoDB中聚合(aggregate)主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果。有点类似sql语句中的 count(*)。 一、聚合 对于Mongodb中的聚合应...
  • huangliequan
  • huangliequan
  • 2016年02月04日 11:51
  • 1299

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

  • 2017年11月14日 16:13
  • 109KB
  • 下载

mongodb如何建立索引

  • 2014年04月29日 10:39
  • 33KB
  • 下载

MongoDB-索引

  • 2016年06月27日 15:18
  • 16KB
  • 下载

MONGODB的索引探究

  • 2014年06月25日 11:06
  • 250KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:mongodb中的索引二
举报原因:
原因补充:

(最多只允许输入30个字)