概述

优化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)。

9) PROFILE详细信息

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

10) PROFILE汇总信息

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


领取方式

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

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

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

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

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

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

  1. gz键盘增强小工具_干货推荐∣6个超有用的在线工具,日常必备

    Hello,大家好 在日常生活和学习过程中, 总会需要面临这样的问题: 文件格式不对 手抄图片上的文字太麻烦 图片内存太大 想要电脑录屏下载软件太麻烦 -- 小九学姐给你推荐6款 超级好用的高效率工具 ...

  2. 存储过程排版工具_文案创作者必备的7个写作辅助工具类网站,记得收藏

    写作作为个人思想的表达渠道,从古至今一直就是一件被广为传承的事情,以前大家在纸上写写画画,修修改改的.自从有了电脑,大家写作的成本越来越低,随时都可以把自己所想传播出去,特别是进入了移动互联网时代,自 ...

  3. 推荐一款Windows To Go 辅助工具

    WTG辅助工具下载地址和使用教程: http://bbs.luobotou.org/thread-761-1-1.html (也可以下载附件) "Windows To Go",它可 ...

  4. 软件:推荐七款Windows下宝藏软件,值得收藏!

    今天给大家推荐七款Windows下软件,每一个都值得拥有. 一.uTools 效率神器 一个可以帮你提高生产率的工具. uTools是一个极简.插件化.跨平台的现在桌面软件.通过选配丰富的插件,可以打 ...

  5. uml 工具_【推荐】灵活而丰富UML建模工具Enterprise Architect!

    Enterprise Architect是一个对于软件系统开发有着极好支持的CASE软件(Computer Aided Software Engineering).EA不同于普通的UML画图工具(如V ...

  6. 前端利器,6 款开源 Web 性能优化辅助工具推荐

    转自:原文链接 Web 性能优化是一个老生常谈的话题,也是前端页面开发十分重要的部分.当页面加载速度越慢,用户流失的概率就越大,性能和交互直接影响用户体验. 下面推荐几款 Web 性能优化辅助工具推荐 ...

  7. 推荐一款MySQL客户端工具NavicatPremium,超级好用!不需要乱七八糟的套路

    The best things in life are free!生活中最美好的东西都是免费的! 推荐一款MySQL客户端工具,超级好用!NavicatPremium12 这是本人用过3款MySQL客 ...

  8. linux mysql可视化_常用的 7 款 MySQL 客户端工具,你值得拥有!

    MySQL的管理维护工具非常多,除了系统自带的命令行管理工具之外,还有许多其他的图形化管理工具,这里我介绍几个经常使用的MySQL图形化管理工具,供大家参考. 1.phpMyAdmin http:// ...

  9. python自动化工具哪个好用_10款好用的自动化测试工具推荐

    当我们功能测试干的时间比较久了,或者想要学习更多的技术,提升自己的时候,基本上第一时间就会想到的是自动化测试.而在自动化测试领域,自动化工具的核心地位毋庸置疑,下面为大家推荐10款常见常用的自动化测试 ...

最新文章

  1. yum报错Error: Cannot retrieve repository metadata (repomd.xml) for repository: rhel-source
  2. div+css如何让一行内的文字两端对齐?
  3. 我の第一篇万字博文 | 带大家开开心心地进入Python世界
  4. 软件工程中的需求分析
  5. python中的内置函数返回元素_Python内置函数_________用来返回数值型序列中所有元素之和。...
  6. 10分钟学会python函数式编程
  7. 思科精睿系列交换机被曝高危漏洞,仅修复部分产品
  8. Android AlertDialog创建过程详解
  9. matlab中 点到线的距离,点到空间直线的距离 | 学步园
  10. 照片识别出错_8款文字识别工具,只要拍个照,文字马上可编辑
  11. 微软跟投,估值31.5亿美元的光量子计算公司刚刚完成4.5亿美元融资
  12. 2022081班李亚楠20220914
  13. 烧录esp32 并用oled显示
  14. macOS Monterey 12.5 (21G72) Boot ISO 原版可引导镜像
  15. php 发放代金券,如何开发用户领取代金券功能说明
  16. tarena学习EJB笔记
  17. 安卓培训机构排名!这篇文章可以满足你80%日常工作!跳槽薪资翻倍
  18. MyBatis-Plus——MyBatis-Plus概述与集成
  19. 新西兰 working holiday visa
  20. Visa通过Visa Direct Payouts将全球资金转移能力扩展到卡片以外的账户

热门文章

  1. 在Blender中制作火箭发射烟雾和火焰模拟的动画
  2. 在Unity中制作4种不同的游戏
  3. 字符串匹配数据结构 --Trie树 高效实现搜索词提示 / IDE自动补全
  4. git submodule 使用场景汇总
  5. debug:g2o cmake时报错“Qt5 not found. Install it and set Qt5_DIR accordingly
  6. MQTT Qos类型解释
  7. 水平,垂直居中的15种方法
  8. JVM 老年代对象来源
  9. 【Python之路】第二篇--初识Python
  10. Abaqus用户子程序umat的学习