MongoDB索引
概念:
索引通常能够极大的提高查询效率,如果没有索引,MongoDB在读取数据时必须扫描集合中的每个文档并选取那些符合查询条件的记录。
扫描全集合的查询效率是非常低的,特别在处理大量的数据时,查询要花费几十秒甚至几分钟,这对网站的性能是非常致命的。
索引是特殊的数据结构,索引存储在一个易于遍历读取的数据集合中,索引是对数据库表一列或者多列的值进行排序的一种数据结构。
----------------------------------------------创建索引------------------------------------------
createIndex()方法
语法:db.COLLECTION_NAME.createIndex(keys,option)
参数说明:
- key:要创建的索引字段
- option:1为升序、-1为降序
实例:为learn集合创建索引(title字段)
设置多个字段作为索引(title、description两个字段)
----------------------------------------------查看集合索引------------------------------------------
getIndexes()方法
语法:db.COLLECTION_NAME.getIndexes()
实例:查看learn集合中的索引
----------------------------------------------查看集合索引大小------------------------------------------
totalIndexSize()方法
语法:db.COLLECTION_NAME.totalIndexSize()
实例:查看learn集合的索引大小
----------------------------------------------删除集合指定索引------------------------------------------
dropIndex(INDEX_NAME)方法
语法:db.COLLECTION_NAME.dropIndex("INDEX_NAME")
实例:删除learn集合中title索引
----------------------------------------------删除集合的所有索引------------------------------------------
dropIndexes()方法
语法:db.COLLECTION_NAME.dropIndexes()
实例:删除learn集合中的所有索引