mongoDB索引浅谈
MongoDB索引浅谈:
1.什么是索引?
索引是对数据库数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。
索引的一个主要目的就是加快检索表中数据,亦即能协助信息搜索者尽快的找到符合限制条件的记录ID的辅助数据结构。
优化查询的首要考虑条件就是 索引。--降低写入速度
- 索引提高查询速度,降低写入速度,[权衡常用的查询字段,不必在太多列上建索引]
- 在mongodb中,索引可以按字段升序/降序来创建,便于排序
- 默认是用btree来组织索引文件,2.4版本以后,也允许建立hash索引
2.常用命令:
1.创建索引
db.collection.createIndex(keys, options)
注意在 3.0.0 版本前创建索引方法为 db.collection.ensureIndex(),之后的版本使用了 db.collection.createIndex() 方法,ensureIndex() 还能用,但只是 createIndex() 的别名。
# 举例
db.stu.ensureIndex({'name':1})
2、查看集合索引
db.col.getIndexes()
3、查看集合索引大小
db.col.totalIndexSize()
4、删除集合所有索引
db.col.dropIndexes()
5、删除集合指定索引
db.col.dropIndex("索引名称")
6.hash索引
db.col.ensureIndex({field:'hashed'})
createIndex(),接收可选参数,参数列表如下:
示例: