数据库-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)
查看查询命令
"cursor":"BasicCursor", -------如果是基本的游标,说明没有索引发生作用
"nscannedObjects":1000--------理论上要扫描多少航
加上索引后会变成 "cursor": " BtreeCursor"
索引类型
1.单列索引
2.多列索引 SQL中的where一次查询多个数值的时候,使用多列索引的效率高
3.子文档索引
索引性质
1.普通索引
2.唯一索引
3.稀疏索引
如果针对field做索引,针对不含field列的文档,将不建立索引,而普通索引会将field列的值认为是null,并建立索引,适用于小部分文档含有某列时
在机械硬盘上的执行速度慢,在SSD或者内存上的执行速度快
创建多列索引
一个表经过很多次修改后导致表的文件产生空洞,索引文件也是这样,
可以通过索引的重建来提高索引效率,减少索引文件碎片。类似mysql中的optimize表
来自为知笔记(Wiz)
相关文章推荐
- 数据库-mongodb-高级查询表达式
- 数据库-mongodb-常用命令
- mongodb安装启动mongodb
- MongoDB自动增长
- (一)MongoDB简介
- 数据库-mongodb-基础
- MongoDB固定集合(Capped Collections)
- MongoDB ObjectId
- MongoDB监控
- MongoDB分片
- MongoDB复制
- MongoDB基本管理命令操作
- windows平台安装并使用MongoDB
- MongoDB理解
- 使用Java查询MongoDB数据库并封装成查询服务实践
- linux部署mongodb及基本操作
- MongoDB的常规备份策略
- laravel 连接mongodb
- mongodb调优那些事(一)-系统设置
- mongodb远程连接