我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mysql Tracing the Optimizer

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

mysql Tracing the Optimizer

背景:
做为一个DBA,或者从事数据库相关工作的小伙伴,常见的工作就是优化sql,查看执行计划!但有时优化器给出的执行计划是错误或者不是最优的, 这时我们就要去追踪一下优化执行计划生成的过程。mysql 5.6提供了Tracing the Optimizer 功能这可是优化sql的一大神器

一,开启Tracing the Optimizer

set optimizer_trace_max_mem_size=300000;
set end_markers_in_json=true;
SET optimizer_trace="enabled=on";

二,生成sql 跟踪信息
explain select * from test.t1;

SELECT * FROM information_schema.optimizer_trace; --备注:这个视图就有我们想要信息,内容如下:

mysql Tracing the Optimizer

三,举例:
比如说sql 会因为Limit 不同的值,执行计划会不一样:

mysql Tracing the Optimizer

四,结总:
这里面的内容非常多,我在这只是抛砖引玉,大家可以自己去深入了角

==========================================================================
官网地址:https://dev.mysql.com/doc/internals/en/tracing-example.html

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

mysql Tracing the Optimizer

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Linux+Apache+PHP+MySQL+Zend Optimizer+PHPMyAdmin的示例分析

这篇文章主要介绍Linux+Apache+PHP+MySQL+Zend Optimizer+PHPMyAdmin的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、前言发现本版中很多用户的问题都是关于空间搭建
2023-06-13

100% 展示 MySQL 语句执行的神器-Optimizer Trace

在上一篇文章《用Explain 命令分析 MySQL 的 SQL 执行》中,我们讲解了 Explain 命令的详细使用。但是它只能展示 SQL 语句的执行计划,无法展示为什么一些其他的执行计划未被选择,比如说明明有索引,但是为什么查询时未使用索引等。为此,My
100% 展示 MySQL 语句执行的神器-Optimizer Trace
2020-08-29

【Mysql】Communications link failure,The last packet sent successfully to the server was 0 millisecond

项目背景是数据库和项目不在同一台服务器下,在启动时,突然遇到以下错误: Exception in thread "main" com.mysql.jdbc.exceptions.jdbc4.CommunicationsExcept
2023-08-20

The MySQL server is running with the --read-only option so it cannot execute this statement

正在开会,同事电话反映开发库不能写入了,错误信息如下: 1209 - The MySQL server is running with the--read-only option so it cannot execute this stat
2022-05-19

The MySQL server is running with the --skip-grant-tables option - 如何解决MySQL报错:MySQL服务器正在使用--skip-gra

引言:MySQL是广泛使用的开源关系型数据库管理系统。在使用MySQL时,有时可能会遇到报错,其中一个常见问题是“MySQL服务器正在使用--skip-grant-tables选项运行”。这个错误可能会导致用户无法访问数据库。在本文中,我们
2023-10-21

The MySQL server is running with the --skip-locking option - 如何解决MySQL报错:MySQL服务器正在使用--skip-locking选

如何解决MySQL报错:MySQL服务器正在使用--skip-locking选项运行,需要具体代码示例MySQL是一种开源的关系型数据库管理系统,广泛应用于各种大型网站和应用程序中。然而,在使用MySQL时,有时候会遇到一些错误和问题。其中
2023-10-22

编程热搜

目录