mongodb 索引1

本博客在听完慕课-入门mongodb这门课后所写

在数据量较小时,不使用索引也可以查询的很快,但是在数据量很大时,就要使用索引提高效率了。

1.db.demo.getIndexes()      可以表中所包含的索引

 

可以看到  key的集合中包含_id ,就是说表中默认的索引就是_id

2.db.demo.ensureIndex({x:1})    

     x是1 正向排序 

      x是-1逆向排序

 注意:在创建索引的时候,使用数据库之前就要创建,不可以使用的时候创建,会严重影响数据库性能,一般索引再插入数据后在创建,可能会对数据库写入有影响,但是可以忽略。

           使用索引查询数据时,性能会大幅度提升。

           索引可以重复创建,如果重复创建,会直接返回成功。

3,_id 索引的使用

他是很多集合默认建立的唯一索引

4.单键索引

db.demo1.ensureIndex({x:1})

值为单一的值

5.多键索引

与单键不同点就是:值具有多个记录,例如数组,集合等

当叉入这条数据后,mongo就会认为x是多键索引。

6.复合索引

个人感觉,就是为查询多个属性值建立的索引。没什么不同。

7.过期索引

一段时间后会过期的索引,过期后会被删除,适合存储登录信息,日志等

db.demo1.ensureIndex({qqq:1},{expireAfterSeconds:10})

第二个参数是该索引的过期时间,就是说插入的数据会在这段时间后被删除。

没更完。。有空在更!

原文地址:https://www.cnblogs.com/lilight/p/7488865.html