mysql语句生成工具_强烈推荐一款MySQL语句优化辅助工具,值得收藏

一款由Python编写的MySQL语句优化辅助工具,可自动推送优化相关信息给DBA,包括SQL性能参数、执行计划等,加速优化过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述

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

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

下面介绍下这个小工具,文末附领取方式。


环境

模块 - MySQLDB

模块 - sqlparse

Python版本 = 2.7.3


1、脚本内容

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

d8bd72e4d4a0c15a456492dabb075cf1.png
e1df0c888daa7ffa3257acb42396088e.png

2、调用方法

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

参数说明:

-p 指定配置文件名称

-s 指定SQL语句


3、配置文件

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

4f2ed3eb06ae93152555c4bd0522e853.png

4、输出说明

1) 标题部分

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

fe1b4d11d38fae1198ca67343a23f068.png

2) 原始SQL

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

cc149842cd22d428c727d322bf8b3654.png

3) 系统级参数

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

474ff5816a7283bc0ceef7165e780d99.png

4) 优化器开关

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

b4807aacdfd7010e37fdb8289f8e477f.png

5) 执行计划

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

df9cf46e116e68ac095bd09bfaf30c85.png

6) 优化器改写后的SQL

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

e6867f765b88a6f81aedb6764c132d34.png

7) 统计信息

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

ba984124c60b9fc7e3db2eda63baca0a.png

8) 运行状态信息

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

cb71c091101e0ba48f8b4785afaee726.png

9) PROFILE详细信息

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

8622b5df815e987eda88a57ab17bec39.png

10) PROFILE汇总信息

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

b22d6a23ea446a0f471542eacaa3a417.png

领取方式

这份实用的MySQL小工具怎么领取呢?

1.请在评论区评论+点赞+转发

2.点击关注,关注本头条号

3.进入头条号主页面,右上角有私信功能,私信小编:MySQL小工具

同时希望大家多多转发分享给更多的朋友哦!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值