第三章、SQL语句的优化
2016-05-18 22:30
435 查看
3.1 优化sql语句的一般步骤
3.1.1 通过show status命令了解各种SQL的执行效率
格式:mysql>show [session|global]status;
其中:session(默认)表示当前连接,
global表示自数据库启动至今
mysql>show status;
mysql>show global stauts;
mysql>show status like "Com_insert%"
mysql>show global status like "Com_select%";
参数说明
Com_XXX 表示每个XXX语句执行的次数如:
Com_select 执行select操作的次数,一次查询只累加一次
Com_update 执行update的次数
Com_insert 执行insert的次数,对批量插入只算一次
Com_delete 执行delete的次数
只针对InnoDB存储引擎的
InnoDB_row_read
InnoDB_row_updated
InnoDB_row_inserted
InnoDB_row_deleted
其他:
connnections 连接mysql的数量
Uptime 服务器已经工作的秒数
Slow_queries 慢查询的次数
mysql>show status like "%slow%";//查看慢查询日志是否开启
mysql>show status like "%long%";//查看设置多长时间记录慢查询
3.1.2定位执行效率较低的sql语句
1、explain selecr * from table where id = 1000 (\G);
2、desc select * from table where id = 1000;
优化步骤:
1、查找慢查询
2、定位慢查询语句
3、添加索引测试
3.1.1 通过show status命令了解各种SQL的执行效率
格式:mysql>show [session|global]status;
其中:session(默认)表示当前连接,
global表示自数据库启动至今
mysql>show status;
mysql>show global stauts;
mysql>show status like "Com_insert%"
mysql>show global status like "Com_select%";
参数说明
Com_XXX 表示每个XXX语句执行的次数如:
Com_select 执行select操作的次数,一次查询只累加一次
Com_update 执行update的次数
Com_insert 执行insert的次数,对批量插入只算一次
Com_delete 执行delete的次数
只针对InnoDB存储引擎的
InnoDB_row_read
InnoDB_row_updated
InnoDB_row_inserted
InnoDB_row_deleted
其他:
connnections 连接mysql的数量
Uptime 服务器已经工作的秒数
Slow_queries 慢查询的次数
mysql>show status like "%slow%";//查看慢查询日志是否开启
mysql>show status like "%long%";//查看设置多长时间记录慢查询
3.1.2定位执行效率较低的sql语句
1、explain selecr * from table where id = 1000 (\G);
2、desc select * from table where id = 1000;
优化步骤:
1、查找慢查询
2、定位慢查询语句
3、添加索引测试
相关文章推荐
- MySQL中的integer 数据类型
- MySQL存储过程
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- MySQL创建用户及权限控制
- MySQL管理数据表
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- MySQL 备份和恢复策略
- mac下安装mysql(转载)
- mysql 修改编码 Linux/Mac/Unix/通用(杜绝修改后无法启动的情况!)
- MySQL数据的导出、导入(mysql内部命令:mysqldump、mysql)
- mysql数据行转列
- Linux下修改MySQL编码的方法
- MySQL Server 日志
- MySQL 安全事宜
- MySQL 备份与恢复