加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.0577zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 安全 > 正文

如何高效快速地优化MySQL、SQL语句(附源码)

发布时间:2021-01-08 06:16:42 所属栏目:安全 来源:网络整理
导读:副标题#e# 《如何高效快速地优化MySQL、SQL语句(附源码)》要点: 本文介绍了如何高效快速地优化MySQL、SQL语句(附源码),希望对您有用。如果有疑问,可以联系我们。 作者介绍 韩锋,宜信技术研发中心数据库架构师.精通多种关系型数据库,曾任职于当当网、TOM

默认情况下profiling的值为0表示MySQL SQL Profiler处于OFF状态,开启SQL性能分析器后profiling的值为1.

  • 执行SQL语句
mysql> select count(*) from t1;

  • 获取概要信息

使用”show profile”命令获取当前系统中保存的多个Query的profile的概要信息.

mysql> show profiles;

+———-+————+———————–+

| Query_ID | Duration?? | Query?????????????????? |

+———-+————+———————–+

|??????? 1 | 0.00039300 | select count(*) from t1 |

+———-+————+———————–+

  • 针对单个Query获取详细的profile信息

在获取概要信息之后,就可以根据概要信息的Query_ID来获取某个Query的执行过程中详细的profile信息.

mysql> show profile for query 1;

mysql> show profile cpu,block io for query 1;

二、工具说明

前面谈到了多种手段,对于SQL语句的调优都有所帮助.通过下面这个小工具,可以自动调用命令将上面这些内容一次性推给DBA,大大加速优化的过程.

1、准备条件

  • 模块 – MySQLDB
  • 模块 – sqlparse
  • Python版本 = 2.7.3 (2.6.x版本应该也没问题,3.x版本没测试)

2、调用方法

python mysql_tuning.py -p tuning_sql.ini -s ‘select xxx’

参数说明

-p? 指定配置文件名称

-s? 指定SQL语句

3、配置文件

共分两节信息,分别是[database]描述数据库连接信息,[option]运行配置信息.

[database]
server_ip?? = 127.0.0.1

db_user???? = testuser

db_pwd????? = testpwd

db_name???? = test

[option]
sys_parm??? = ON???? //是否显示系统参数

sql_plan??? = ON //是否显示执行计划

obj_stat??? = ON //是否显示相关对象(表、索引)统计信息

ses_status? = ON //是否显示运行前后状态信息(激活后会真实执行SQL)

(编辑:温州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读