您的位置:首页 > 数据库 > Mongodb

数据库-mongodb-索引

2016-03-20 21:09 519 查看
1.索引提高查询速度,降低写入速度,权衡常用的查询字段,不必在太多列上建立索引2.在mongodb中,索引可以按字段升序、降序来创建,便于排序3.默认是使用btree 来组织索引文件,2.4版以后,也允许建立hash索引

查看查询命令

结果中的

"cursor":"BasicCursor", -------如果是基本的游标,说明没有索引发生作用

"nscannedObjects":1000--------理论上要扫描多少航

加上索引后会变成 "cursor": " BtreeCursor"

索引类型

1.单列索引

2.多列索引 SQL中的where一次查询多个数值的时候,使用多列索引的效率高

3.子文档索引

索引性质

1.普通索引

2.唯一索引

3.稀疏索引

如果针对field做索引,针对不含field列的文档,将不建立索引,而普通索引会将field列的值认为是null,并建立索引,适用于小部分文档含有某列时

4.哈希索引

对范围查询支持的不够好

在机械硬盘上的执行速度慢,在SSD或者内存上的执行速度快

创建多列索引

创建子文档索引

创建唯一索引

删除单个索引

删除所有索引

查看当前的索引有哪些

重建索引

一个表经过很多次修改后导致表的文件产生空洞,索引文件也是这样,

可以通过索引的重建来提高索引效率,减少索引文件碎片。类似mysql中的optimize表

这个命令是不是重建所有该collection中的索引?

来自为知笔记(Wiz)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: