MySQL语句优化辅助工具DBA怎么用

59次阅读
没有评论

共计 1122 个字符,预计需要花费 3 分钟才能阅读完成。

MySQL 语句优化辅助工具 DBA 怎么用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

  概述

优化 SQL,是 DBA 常见的工作之一。如何高效、快速地优化一条语句,是每个 DBA 经常要面对的一个问题。对于一名 DBA 来说,掌握一门语言配合自己的工作是非常必要的。相对于 shell 的简单、perl 的飘逸,Python 是一种严谨的高级语言。其具备上手快、语法简单、扩展丰富、跨平台等多种优点。很多人把它称为一种“胶水”语言,通过大量丰富的类库、模块,可以快速搭建出自己需要的工具。

今天主要分享一下自己写的一个“MySQL 语句优化辅助工具”,通过这个小工具,可以自动调用命令将上面这些内容一次性推给 DBA,大大加速优化的过程。

下面介绍下这个小工具。

环境

模块 – MySQLDB

模块 – sqlparse

Python 版本 = 2.7.3

1、脚本内容

因为脚本内容比较多,所以就截部分了。

2、调用方法

python mysql_tuning.py -p tuning_sql.ini -s 你的 sql

参数说明:

-p 指定配置文件名称

-s 指定 SQL 语句

3、配置文件

这里分别是 [database] 描述数据库连接信息,[option]运行配置信息。

4、输出说明

1) 标题部分

包含运行数据库的地址信息及数据版本信息。

2) 原始 SQL

用户执行输入的 SQL,这部分主要是为了后续对比 SQL 改写时使用。语句显示时使用了格式化。

3) 系统级参数

脚本选择显示了部分与 SQL 性能相关的参数。这部分是写死在代码中的,如需扩展需要修改脚本。

4) 优化器开关

下面是和优化器相关的一些参数,通过调整这些参数可以人为干预优化器行为。

5) 执行计划

就是调用 explain extended 的输出结果。如果结果过长,可能出现显示串行的问题(暂时未解决)。

6) 优化器改写后的 SQL

通过这里可判断优化器是否对 SQL 进行了某种优化(例如子查询的处理)。

7) 统计信息

在 SQL 语句中所有涉及到的表及其索引的统计信息都会在这里显示出来。

8) 运行状态信息

在会话级别对比了执行前后的状态(SHOW  STATUS),并将出现变化的部分显示出来。需要注意的是,因为收集状态数据是采用 SELECT 方式,会造成个别指标的误差(例如 Com_select)。

MySQL 语句优化辅助工具 DBA 怎么用

9) PROFILE 详细信息

调用 SHOW PROFILE 得到的详细信息。

MySQL 语句优化辅助工具 DBA 怎么用

10) PROFILE 汇总信息

根据 PROFILE 的资源消耗情况,显示不同阶段消耗对比情况(TOP N),直观显示 瓶颈 所在。

MySQL 语句优化辅助工具 DBA 怎么用

看完上述内容,你们掌握 MySQL 语句优化辅助工具 DBA 怎么用的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注丸趣 TV 行业资讯频道,感谢各位的阅读!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-17发表,共计1122字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)