mysql 开发进阶篇系列 1 SQL优化(show status命令)
2018-07-17 15:09
609 查看
一.概述
随着上线后,数据越来越多,很多sql语句开始显露出性能问题,本章介绍在mysql中优化sql语句的方法。1. 通过show status 命令了解各种sql的执行频率
通过show [session | global] 命令可以提供服务器状态信息,也可以在操作系统上使用mysqladmin extended-status 命令来获得。 session 是默认参数 是当前连接的统计结果, global 是自数据库上次启动到今的统计结果。
-- 查看全局所有统计的值 SHOW GLOBAL STATUS LIKE 'Com%';
(1) Com_xxx:通常比较关心的是以下几个统计参数
Com_select | 执行select 操作的次数,一次查询只累计加1 |
Com_insert | 执行insert操作的次数,对于批量插入的insert操作,只累计加1 |
Com_update | 执行update操作的次数 |
Com_delete | 执行delete 操作的次数 |
(2) 针对innodb 存储引擎的参数,累加的算法有所不同
Innodb_rows_read | Select 查询返回的行数 |
Innodb_rows_inserted | 执行insert操作插入的行数 |
Innodb_rows_updated | 执行update操作更新的行数 |
Innodb_rows_deleted | 执行delete操作删除的行数 |
通过以上参数,可以了解当前数据库的应用是以插入更新为主还是查询操作为主,以及各种类型的sql的分布比例。
(3) com_commit和com_rollback
对于事务型应用,通过com_commit和com_rollback可以了解事务提交和回滚的情况,对于回滚操作非常频繁的数据库,可能意味着应用编写存在问题。
(4) 以下参数便于用户了解数据库的基本情况
connections | 试图连接mysql 服务器的次数 |
Uptime | 服务器工作时间(单位:秒) 9001527秒 = 工作了104天 |
Slow_queries | 慢查询的次数. |
对于Slow_queries 是指超过Long_query_time值就会被记录。Long_query_time表示超过多少秒的查询就写入日志,默认的是10s,设置为0的话表示记录所有的查询。
-- 下面设置的时间是2秒 SHOW VARIABLES LIKE 'long%'
相关文章推荐
- mysql 开发进阶篇系列 4 SQL 优化(各种优化方法点)
- mysql 开发进阶篇系列 5 SQL 优化(表优化)
- mysql 开发进阶篇系列 2 SQL优化(explain分析)
- mysql 开发进阶篇系列 3 SQL 优化(索引使用方法)
- Mysql通过show status 命令了解各种SQL 的执行频率
- MySQL架构优化实战系列4:SQL优化步骤与常用管理命令
- 【MySQL】MySQL的show系列命令总结
- mysql主从同步,show slave status命令,结果详解
- MYSQL命令 Show global status命令得到的参数详解(MYSQL错误)
- mysql优化(1)show命令 慢查询日志 explain profiling
- mysql优化(1)show命令 慢查询日志 explain profiling
- 【MySQL笔记】SQL优化利器 - explain命令的输出格式详解
- 利用mysql中show global status和show variables来优化mysql的配置参数
- mysql优化(1)show命令 慢查询日志 explain profiling
- 通过show status 命令了解各种sql的执行频率
- MySQL- SHOW TABLE STATUS命令
- mysql优化(1)show命令 慢查询日志 explain profiling(查看CPU、DISK I\O等信息)
- MySQL- SHOW TABLE STATUS命令
- mysql优化(1)show命令 慢查询日志 explain profiling
- MySQL 数据库性能优化之SQL优化(这是 MySQL数据库性能优化专题 系列的第四篇文章)