1、查看MySQL系统性能参数
在MySQL中,可以使用SHOW STATUS语句查询一些MySQL数据库服务器的性能参数、执行频率。
语法如下:
一些常用的性能参数如下:
- Connections:连接MySQL服务器的次数
- Uptime:MySQL服务器上线时间(启动时长,单位:秒)
- Slow_queries:慢查询次数
- Innodb_rows_read:select查询返回的行数
- Innodb_rows_inserted:执行INSERT操作插入的行数
- Innodb_rows_updated:执行UPDATE操作更新的行数
- Innodb_rows_deleted:执行DELETE操作删除的行数
-
Innodb_rows_%:查看上述4种的汇总行数
如:
查看连接MySQL服务器次数:
SHOW status LIKE 'connections';
查看MySQL启动时长 :
--MySQL启动时长,单位:秒
SHOW status LIKE 'uptime';
查看MySQL慢查询的次数:
--MySQL慢查询的次数
SHOW status LIKE 'slow_queries';
查看select、insert、update、delete对应操作的行数
SHOW status LIKE 'innodb_rows_%';
2、统计SQL的查询成本
- last_query_cost
- 使用:SHOW STATUS LIKE 'last_query_cost';
一条SQL查询语句在执行前需要确定查询执行计划,如果存在多种执行计划的话,MySQL会计算每个执行计划所需要的成本,从中选择成本最小的一个座位最终的执行计划。
如果我们想要查看某条SQL语句的查询成本,可以在执行完这条SQL语句之后,通过查看当前回话中的last_query_cost变量值来得到当前查询的成本。它通常也是我们评价一个查询的执行效率的一个常用指标。这个查询成本对应的是SQL语句所需要读取的页的数量。
例如:student_info表有100万条数据,我们查询
select * from student_info where id = 900001;
结果如下:当前SQL只需要查询1个数据页
select * from student_info where id > 199000;
结果如下:
使用场景:它对于比较开销是非常有用的,特别是我们有好几种查询方式可选的时候。