【MongoDB】复合索引
来源:互联网 发布:python 爬虫教程 编辑:程序博客网 时间:2024/06/12 00:05
MongoDB支持复合索引,所谓复合索引就是一个索引包含多个字段,例如为如下collection建立一个复合索引:
collection {
user_id:
score:
……
}
db.col.createIndex({‘user_id’ : 1, ‘score’ : -1})
有数据库基础的同学对这个也没有什么疑惑,而且应该知道1表示升序,-1表示降序。
- 在MongoDB的复合索引中不允许有hash索引
- 复合索引最多包含31个字段
其实复合索引的创建和使用并没有太多新鲜的内容,和单字段索引差不多,但是值得一讲的是复合索引的前缀匹配,这个应该在任何支持复合索引的数据库中都存在,这里就是以MongoDB为例。
假如有这样一个复合索引:
{'item' : 1, 'loc' : 1, 'stock' : 1}
那么上述索引有以下两个索引前缀:
1. {'item' : 1}2. {'item' : 1, 'loc' : 1}
任何查询可以利用复合索引或复合索引的前缀索引加速查找。也就是说,上述一个复合索引可以支持以下三种索引:
{'item' : 1}{'item' : 1, 'loc' : 1}{'item' : 1, 'loc' : 1, 'stock' : 1}
但是需要以下字段的索引上述复合索引是无能为力的,只能另建索引:
{'loc' : 1}{'stock' : 1}{'loc' : 1, 'stock' : 1}
所以,一直提倡建立复合索引,因为复合索引能够带来额外的好处,根据业务查询,建立合适的复合索引,真是美滋滋。
阅读全文
0 0
- MongoDB 复合索引
- 【MongoDB】复合索引
- MongoDB 复合索引
- MongoDB 单字段索引和复合索引
- MongoDB小结25 - 复合唯一索引
- 复合索引
- 复合索引
- 复合索引
- 复合索引
- 复合索引
- 复合索引
- 复合索引
- 复合索引
- 复合索引
- mongodb指南(十八) - developer zone - 索引(二)_id索引、复合索引、稀疏索引、数组索引、唯一索引
- 复合索引和单键索引
- mysql 复合索引,联合索引
- oracle索引 一复合索引
- echarts画k线图(折线)
- ASP.NET中使用jQGrid
- 悬挂式数字麦克风阵列 多点视频会议
- 一个完整的线上异常捕获类
- 源码阅读---Activity生命周期控制
- 【MongoDB】复合索引
- 对拍
- 使用xxl-job调度平台时,启动执行器工程报错:unknown code for readObject at 0x3c (<)
- 5.Linux内核
- 观察者模式
- Apache Jute
- Pycharm 添加脚本的头信息模板
- C++基础(5)
- 设计模式之代理模式