查询优化
文章平均质量分 95
数据库内核
这个作者很懒,什么都没留下…
展开
-
物理查询优化(二):两表连接算法(附具体案例及代码分析)
Hash Join 是一种执行连接的方法,如下图所示:选择合适的连接参与表作为内表(build table),构建hash表;然后使用另外一个表(probe table)的每一条记录去探测第一步已经构建完成的哈希表寻找符合连接条件的记录;输出匹配后符合需求的记录;排序归并连接算法又称归并排序连接算法,简称归并连接算法。归并连接算法需要首先对两个表按照关联的字段进行排序,然后分别从两个表中取出一行数据进行匹配,如果合适放入结果集;原创 2024-03-23 17:34:11 · 1490 阅读 · 0 评论 -
物理查询优化(一):索引的使用(案例分析)
从上述 查询执行计划来看,尽管连接条件 a1 = b1 中的 a1 列和 b1 列都是索引列,但在表 a 中使用了顺序扫描,在表 b 中使用了索引扫描。从查询执行计划来看,a1 和 b1 都走了索引,能走索引的原因是在连接条件中,出现了 a1 = 1 条件,使得查询优化器可以根据 ”常量传递“ 优化技术推知 b1 = 1,所以在表 a 和 b 上可以各自使用索引扫描。9)对表做查询,有索引列对象作为过滤条件,操作符是范围操作符 ,可做索引扫描(PG 不可做索引扫描),且可走 ICP下推;原创 2024-02-27 21:24:27 · 591 阅读 · 0 评论 -
MySQL 优化器 ICP 下推(让你彻底理解 ICP)
ICP(Index Condition Pushdown,索引下推),是 MySQL 5.6 版本推出的功能,用于优化 MySQL 查询。ICP 可以减少存储引擎查询回表的次数以及 MySQL server 层访问存储引擎的次数。ICP 的目标是减少整行记录读取的次数,从而减少 I/O 操作。原创 2023-11-24 22:28:01 · 1322 阅读 · 0 评论 -
MySQL 优化器 MRR
MRR 的全称是 Multi-Range Read Optimization,是优化器将随机 IO 转化为顺序 IO 以降低查询过程中 IO 开销的一种手段,咱们对比一下 mrr=on & mrr=off 时的执行计划:可以看到 extra 的输出中多了 “Using MRR” 信息,即使用了 MRR Optimization IO 层面进行了优化,减少 IO 方面的开销,更详细的说明可以参考。原创 2023-11-24 22:08:20 · 1454 阅读 · 0 评论