SQL 性能分析:
查看当前数据库的 增删改查的使用情况
sql
show global status like 'Com_______';
慢查询日志:
sql
-- 查看状态
show variables like 'slow_query_log'
目前是开启状态。如何开启,编辑my.cnf 文件 添加下面的语句,编辑完成后重启Mysql服务
powershell
vim /etc/my.cnf #编辑my.cnf文件
#新增下面3句
slow_query_log=1 # 开启慢sql
slow-query-log-file=/www/mysql-slow.log #存放日志的地方
long_query_time=3 # 表示超过3秒就记录下来。
#重启Mysql服务:
systemctl restart mysqld
之后如果定时查看 /www/mysql-slow.log 日志,就可以看是否有查过3秒的慢sql
下是一个例子。
查看sql 耗时情况
sql
select @@have_profiling; -- 查看数据库支付支持
select @@profiling; -- 查看是否开启
set profiling = 1; -- 开启profiling
sql
select * from a_img where id = 10
select * from a_img where img_url like '%24SN%'
show profiles;
通过 profiles就可以查看到最近 sql的执行时间
sql
show profile cpu for query 126; #查询执行过程耗时: