1、建立索引的目的
普通索引
3.1、创建普通索引
唯一索引
3.1、创建唯一索引
3.2、删除唯一索引
3.3、查看关于索引的相关信息
3.4、查看查询使用索引的情况
3.5、删除集合,也会将集合中的索引全部删除
4、查看索引的一个方法
索引就是用来加速查询的。数据库索引与书籍的索引类似:有了索引就不需要翻遍整本书, 数据库则可以直接在索引中查找,使得查找速度能提高几个数量级。在索引中找到条目以后,就可以直接跳转到目标文档的位置。
2、关于数据库索引的性能测试
use test_data;
for( var i=1; i<=5000000; i++){
db.c3.insert( { id:i,name:i } );
}
#关于explain()函数的使用,分析执行的语句性能
db.c1.find({age:19}).explain();
普通索引
3.1、创建普通索引
db.collection.ensureIndex({key:1})
3.2、删除索引
db.collection.dropIndex({key:1})
3.3、查看关于索引的相关信息
db.c1.stats()
3.4、 查看查询使用索引的情况
db.collection.find({key:value}).explain()
3.5、 删除集合,也会将集合中的索引全部删除
唯一索引
3.1、创建唯一索引
db.collection.ensureIndex({key:1},{unique:true})
3.2、删除唯一索引
db.collection.dropIndex({key:1})
3.3、查看关于索引的相关信息
db.c1.stats()
3.4、查看查询使用索引的情况
db.collection.find({key:value}).explain()
3.5、删除集合,也会将集合中的索引全部删除
4、查看索引的一个方法
> show collections;
c1
system.indexes;
>db.system.indexes.find(); #查看索引的信息