mongo中hint的使用
mongo
官方文档对hint
的解释如下:
The $hint operator forces the query optimizer to use a specific index to fulfill the query. Specify the index either by the index name or by document.
hint
的命令行用法:
db.users.find().hint()
mongo
中使用explain
来确定查询使用的索引方案,对比explain
的结果,可以反向校验hint
的使用。explain
的命令行用法:
db.collection.explain()
github.com/globalsign/mgo
下对hint
方法的注释如下:
// Hint will include an explicit "hint" in the query to force the server
// to use a specified index, potentially improving performance in some
// situations. The provided parameters are the fields that compose the
// key of the index to be used. For details on how the indexKey may be
// built, see the EnsureIndex method.
hint
参数列表是用作索引的字段,更多细节请参考EnsureIndex
方法。
// To obtain an index with a descending order,
// the field name should be prefixed by a dash
组合索引
mongo
中组合索引称为Compound Index
,不同于MySQL
,它可以指定索引字段排列顺序。对于下面的索引:
{ userid: 1, score: -1 }
索引先通过userid
进行排序,如果user_id
相同,再根据score
的倒序排。这中形式,对查询有什么影响呢?
从mongo
官方文档的例子来尝试理解,索引{ a: 1, b: -1 }
支持{ a: 1, b: -1 }
和{ a: -1, b: 1 }
的排序操作,但不支持{ a: -1, b: -1 }
和{a: 1, b: 1}
的操作。
mongo中hint的使用相关推荐
- mongo中的游标与数据一致性的取舍
除了特殊注释外,本文的测试结果均基于 spring-data-mongodb:1.10.6.RELEASE(spring-boot-starter:1.5.6.RELEASE),MongoDB 3.0 ...
- day12_oracle hint——SQL优化过程中常见Oracle中HINT的30个用法
在SQL语句优化过程中,经常会用到hint, 以下是在SQL优化过程中常见Oracle中"HINT"的30个用法 1. /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化方 ...
- 芝麻分从本地mongo中获取有效数据工具
引言: 起因:java接入芝麻分,接口数据为了提高效率,需要储存在mongo中,若接口调用则优先从本地mongo库中查询是否存在有效数据. mongo查询: import com.alibaba.fa ...
- Oracle中Hint深入理解(原创)
http://czmmiao.iteye.com/blog/1478465 Hint概述 基于代价的优化器是很聪明的,在绝大多数情况下它会选择正确的优化器,减轻了DBA的负担.但有时它也聪明反被聪明 ...
- 性能优化:Sql语句中HINT不起作用
今天在做性能测试的时候,发现数据库的load很高,排查觉得Sql的索引有问题,但是一时找不到原因,后来经过Google发现是HINT的问题文摘如下: 在select/delete/update后写/* ...
- oracle中hint 详解
Hint概述 基于代价的优化器是很聪明的,在绝大多数情况下它会选择正确的优化器,减轻了DBA的负担.但有时它也聪明反被聪明误,选择了很差的执行计划,使某个语句的执行变得奇慢无比. 此时就需要DBA进行 ...
- hint java_Oracle中Hint深入理解
Hint概述基于代价的优化器是很聪明的,在绝大多数情况下它会选择正确的优化器,减轻了DBA的负担.但有时它也聪明反被聪明误,选择了很差的执行计划,使某个语句的执行变得奇慢无比. 此时就需要DBA进行人 ...
- e339 java_java-在Spring Mongo中从文档数组中删除项目
我在mongo db中有这样的文档集合: "_id" : ObjectId("592bc37c339e7a23788b4c7c"), "trips&q ...
- oracle 设置忽略关键字,Oracle中Hint被忽略的几种常见情形
Hint可以影响优化器对于执行计划的选择,但这种影响不是强制性的,优化器在某些情况下可能会忽略目标SQL中的Hint.由于各种原因导致Hint被Oracle忽略后,Oracle并不会给出任何提示或者警 ...
最新文章
- 现代 JavaScript 函数库 usuallyjs 的安装和使用
- 《赢道:成功创业者的28条戒律》成都签售会魅力登场(背景)
- 【EventBus】EventBus 源码解析 ( 注册订阅者 | 注册订阅方法详细过程 )
- B2B 企业如何高效获客增长?
- 阿里云飞天洛神2.0:开放弹性的云网络NFV平台
- Vue 路由模块化配置
- CentOS7安装后没网络的解决方法
- 调用Kubernetes SDK实现二次开发
- 从难民到 Uber 首席技术官:一个亚裔幸存者的故事
- 数学建模:线性回归模型
- debian10编译安装mysql
- 等保测评--管理机构安全(ORS)
- outlook2016 打不开超链接
- arm mali 天梯图_手机最新CPU天梯图 2018年12月手机最新处理器排名表
- 阿里云 数加 · DataWorks 数据同步
- GL音乐播放器1.0.0版-- 总结帖
- 使用 HeadSpin BYOD 进行现场测试
- 三十五年经验分享:程序员进阶八法
- 长见识了,Kotlin + SpringBoot + JPA 整合开发比Java更爽...
- 个人向前端知识“复健”