Slow sql command finishing

Slow sql command finishing

show status;


show PROFILE

show PROFILEs

show  GLOBAL status like '';


show  SESSION status like '';

-- 查询mysql 服务器的链接次数
show status like 'Connections';

-- 查询服务器的工作时间
show status like 'Uptime';

-- 查询慢查询的次数
show status like 'Slow_queries';
-- select  查询返回行数
show status like 'Innodb_rows_read';
-- 执行insert操作插入的行数
show status like 'Innodb_rows_inserted';
-- 执行update操作插入的行数
show status like 'Innodb_rows_updated';
-- 执行delete操作插入的行数
show status like 'Innodb_rows_deleted';
-- 查询操作次数
show status like 'Com_select';
-- 插入操作次数,对于批量插入的INSERT 操作 只累加一次
show status like 'Com_insert';
-- 更新操作次数
show status like 'Com_update';
-- 删除操作次数
show status like 'Com_delete';


-- 查看mysql 慢sql 的开启情况
show variables like '%slow_query_log%';

-- 开启慢查询日志
set global slow_query_log = on;

--  慢sql 默认是 大于 10秒 即 10秒以上 
show variables like '%long_query_time%';

-- 修改
set global  long_query_time = 1;

show variables like '%long_query_time%';

set   long_query_time = 1;

show variables like '%long_query_time%';

my.cnf
[mysqld]
#开启慢查询日志
slow_query_log=ON 
# 日志路径
slow_query_log_file=c:/temp/mysql-slow.log
#设置慢查询的阈值为3秒,超过这个值 则被记录为慢查询
long_query_time=3
log_output=FILE

## 如果不指定路径,慢查询日志将默认存储到mysql数据库的数据文件件夹下,如果不指定文件名,默认文件名为 hostname-slow.log 

-- 扫描过的最小记录数
show variables like 'min_examined_row_limit';

-- 重新生成查询日志
mysqladmin -uroot -p flush-logs slow;

-- 执行资源消耗情况的工具 ,可用户sql调优的测量, 默认情况处于关闭状态,并保存最近15次的运行结果
show variables like 'profiling';
--  开启 show  profile 
set profiling = ON

show  profiles;

show  profile;

show profile cpu,block io for query 196;
/**
1. CONVERTING  HEAP  to MyISAM  : 查询结果太大,内存不够,数据往磁盘上搬了
2. Creating tmp table : 创建临时表,先拷贝数据到临时表,用往后在删除临时表
3. Coping to tmp table on desk: 把内存中临时表复制到磁盘上,警惕
4. locked 
如果通过 show profile 诊断结果出现了以上4条中的任意一条,则sql 语句就要优化
*/

Guess you like

Origin blog.csdn.net/xu990128638/article/details/129935576