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; --备注:这个视图就有我们想要信息,内容如下:

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

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

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

原文地址:http://blog.51cto.com/538858/2323748

时间: 2024-10-30 05:11:34

mysql Tracing the Optimizer的相关文章

MYSQL COST optimizer

https://dev.mysql.com/doc/refman/5.7/en/optimizer-issues.html https://dev.mysql.com/doc/refman/5.7/en/cost-model.html http://mysqlserverteam.com/the-mysql-optimizer-cost-model-project/ https://mydbops.wordpress.com/2016/09/26/cost-based-optimization-

Mysql 5.6 新特性(转载)

本文转载自 http://blog.csdn.net/wulantian/article/details/29593803 感谢主人的辛苦整理 一,安全提高 1.提供保存加密认证信息的方法,使用.mylogin.cnf文件.使用mysql_config_editor可以创建此文件.这个文件可以进行连接数据库的访问授权.mysql_config_editor会进行加密而不是明文存储.客户端只会在内存中进行解密.这样密码以非明文方式存储,不会在命令行或者环境变量中暴露.更多信息,访问 Section

CentOS 7 源码安装MySQL 5.6.31

本文部分内容参考我之前在CentOS 6下安装MySQL 5.6 的步骤.http://professor.blog.51cto.com/996189/1695769 系统平台:CentOS 7.2 MySQL版本:mysql-5.6.31 安装方式:源码编译 导航1. 下载源码包 2. 解压源码包.安装依赖包 3. 编译安装mysql 4. 安装后配置,包括CentOS 7服务配置 5. my.cnf配置举例 6. mysqld.service配置举例 1. 下载源码包 wget http:/

MySQL集群核心概念

MySQL Cluster Core Concepts NDBCLUSTER (also known as NDB) is an in-memory storage engine offering high-availability and data-persistence features. NDBCLUSTER(也叫做NDB)是一种提供了高可用性和数据持久性特征的内存式存储引擎. The NDBCLUSTER storage engine can be configured with a r

mysql源代码安装细说

mysql为我们提供了三种安装方式:二进制.rpm.源代码编译.这里我们详细讨论mysql的源代码编译安装方式. 在5.5版本之后,mysql不再提供configure编译方式,改为使用cmake编译工具,cmake工具的一个显著特点是其编译独立于源代码,即我们可以在源代码之外的目录使用cmake来编译mysql,如 [[email protected] tmp]# ls -l | grep mysql drwxr-xr-x 2 root root 4096 4月 29 21:11 mysql2

(译)MySQL 8.0实验室---MySQL中的倒叙索引(Descending Indexes)

译者注:MySQL 8.0之前,不管是否指定索引建的排序方式,都会忽略创建索引时候指定的排序方式(语法上不会报错),最终都会创建为ASC方式的索引,在执行查询的时候,只存在forwarded(正向)方式对索引进行扫描.关于正向索引和反向索引,逻辑上很容易理解,这里有两个相关的概念:正向索引或者反向索引,两者都是在构建B树索引时候的相关字段排序方式,是B索引树的逻辑存储方式正向扫描(forward)和反向扫描( Backward index scan;)是执行查询的过程中对B树索引的扫描方式,是数

linux下phpstudy环境的安装

phpStudy Linux版&Win版同步上线 支持Apache/Nginx/Tengine/Lighttpd/IIS7/8/6 phpStudy for Linux 支持Apache/Nginx/Tengine/Lighttpd,支持php5.2/5.3/5.4/5.5切换 已经在centos-6.5,debian-7.4.,ubuntu-13.10测试成功. 下载版:http://lamp.phpstudy.net/phpstudy.bin 完整版:http://lamp.phpstudy

最新phpstudy2016安装教程及流程

最新phpstudy2016安装教程及流程,帮助站长快速搭建网站服务器平台! phpstudy软件简介 该程序包集成最新的Apache+Nginx+LightTPD+PHP+MySQL+phpMyAdmin+Zend Optimizer+Zend Loader,一次性安装,无须配置即可使用,是非常方便.好用的PHP调试环境.该程序绿色小巧简易迷你仅有32M,有专门的控制面板.总之学习PHP只需一个包. 最新版本,完美支持win10服务器,贿支持自定义php版本.对学习PHP的新手来说,WINDO

phpStudy

『软件简介』 该 程序包集成最新的Apache+Nginx+LightTPD+PHP+MySQL+phpMyAdmin+Zend Optimizer+Zend Loader,一次性安装,无须配置即可使用,是非常方便.好用的PHP调试环境.该程序绿色小巧简易迷你仅有35M,有专门的控制面板.总之学习PHP只需一个包. 对学习PHP的新手来说,WINDOWS下环境配置是一件很困难的事:对老手来说也是一件烦琐的事.因此无论你是新手还是老手,该程序包都是一个不错的选择. 1.全面适合 Win2000/X