分享一款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)。 9) PROFILE具体信息 挪用SHOW PROFILE获得的具体信息。 10) PROFILE汇总信息 按照PROFILE的资源耗损环境,表现差异阶段耗损比拟环境(TOP N),直观表现"瓶颈"地址。 【编辑保举】
点赞 0 (编辑:河北网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |