美文网首页
Mysql trace分析SQL优化器

Mysql trace分析SQL优化器

作者: 一只弹窗仔 | 来源:发表于2021-09-05 22:22 被阅读0次

explain 可以查看 SQL 执行计划,但是无法知道它为什么做这个决策,如果想确定多种索引方案之间是如何选择的或者排序时选择的是哪种排序模式。从 MySQL 5.6 开始,可以使用 trace 查看优化器如何选择执行计划。通过trace,能够进一步了解为什么优化器选择A执行计划而不是选择B执行计划,或者知道某个排序使用的排序模式,帮助我们更好地理解优化器行为。

set session optimizer_trace="enabled=on",end_markers_in_json=on; ‐‐开启trace
set session optimizer_trace=“enabled=off”; ‐‐关闭trace

SELECT * from user WHERE name like '张三%' ORDER BY code limit 100;
SELECT * FROM information_schema.OPTIMIZER_TRACE;
image.png

分析trace中的执行计划。可以有效分析建的索引为什么没有走。查看优化器如何选择执行计划,获取每个可能的索引选择的代价。

TRACE 字段中整个文本大致分为三个过程。
准备阶段:对应文本中的 join_preparation
优化阶段:对应文本中的 join_optimization
执行阶段:对应文本中的 join_execution
使用时,重点关注优化阶段和执行阶段。
索引字段会作用在查询和排序时,有排序字段时考虑跟查询一块建立组合索引

相关文章

  • Mysql trace分析SQL优化器

    explain 可以查看 SQL 执行计划,但是无法知道它为什么做这个决策,如果想确定多种索引方案之间是如何选择的...

  • 11-mysqlSQL分析

    六星教育 - java-mysql优化1909 SQL优化 所谓SQL优化:基于MySQL的优化器查询规则来优化S...

  • MySql性能调优三(explain/desc执行计划)

    前言 explian/desc可以帮助我们分析sql语句,写出高效sql语句,让mysql查询优化器可以更好的工作...

  • mysql数据库优化

    1. Mysql优化介绍 1.1 sql优化 a. sql优化分析b. 索引优化c. 常用sql优化d. 常用优化...

  • mysql explain详解

    使用EXPLAIN关键字可以模拟优化器执行SQL语句,从而知道MySQL是如何处理你的SQL语句的。可以分析SQL...

  • 2022-10-14

    explain关键字可以模拟MySQL优化器执行SQL语句,可以很好的分析SQL语句或表结构的性能瓶颈。 expl...

  • 7 Explain详解

    使用Explain关键字可以模拟优化器执行SQL查询语句,从而指导MySQL是如何处理SQL语句的.分析查询语句或...

  • mysql的概念以及mysql架构分析

    mysql逻辑结构从图中可以看到MySQL由以下几个部分组成连接池管理服务和工具组件SQL接口查询分析器优化器缓存...

  • 2. Mysql执行计划与索引详解

    使用EXPLAIN关键字可以模拟优化器执行SQL语句,从而知道MySQL是 如何处理你的SQL语句的。分析你的查询...

  • 深入理解MySql的Explain

    explain关键字可以模拟优化器执行SQL语句,从而知道MySQL是 如何处理你的SQL语句的。分析你的查询语句...

网友评论

      本文标题:Mysql trace分析SQL优化器

      本文链接:https://www.haomeiwen.com/subject/gteswltx.html