ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
MysqlSQL性能重要的两个指标:响应时间(Response Time)和吞吐量(Throughput) 1. EXPLAIN 你的 SELECT 查询; 2. PROCEDURE ANALYSE() 你可以得到相关的建议。 3. using等价于join操作中的on,例如a和b根据id字段关联,那么以下等价 ~~~ using(id); on a.id=b.id; ~~~ 4. 在终端下profiling的使用方法; ~~~ show variables like '%profil%'; #查看参数是否开启; select @@profiling; #查看是否已经启用profile set profiling=1; #不是全局的只能在当前会话; show profiles; #查看会话建立后的所有语句; show profile for query 6; #分析ID=6的语句; show profile block io,cpu for query 6; #获取 CPU 和 Block IO 的消耗; show profile all for query 6; #查询其他; show profile cpu,block io,memory,swaps,context switches,source for query 6; #查询其他; ~~~ 5. 监控工具 Nagios 6. mysql内存计算器; `http://www.mysqlcalculator.com/` 7. 查看那些进程在运行 ~~~ show processlist; #查看前100; show full processlist; #查看所有; ~~~ 8. 慢查询查看慢查询是否开启; ~~~ show variables like '%quer%'; set global slow_query_log = ON; #开启慢查询日志; set global long_query_time = 5; #设置慢查询时间,默认是0.000000; show variables like 'long%'; #查看设置时间; set global slow_query_log_file='/data/mysql/new-slow.log'; #配置慢查询路径; ~~~ 慢查询工具:mysqlsla mysqldumpslow命令 #慢查询分析; -s 后面接下面的参数表示 mysqldumpslow 结果显示的顺序! c query执行的次数 t sql执行的时间 l lock锁表的时间 r sql返回的行数 ac,at,al,ar, 表示倒序排列 -t, 是top n,即为返回前面n条数据。 -g, 后边可以写一个正则匹配模式,大小写不敏感 显示执行时间最长的前两个 ~~~ [root@rac3 python]# mysqldumpslow -s t -t 2 /opt/mysql/data/slowquery.log Reading mysql slow query log from /opt/mysql/data/slowquery.log Count: 2 Time=412.54s (825s) Lock=0.00s (0s) Rows=1.0 (2), root[root]@localhost select count(N) from sbtest ,t1 where t1.c=sbtest.c Count: 1 Time=778.20s (778s) Lock=0.00s (0s) Rows=1.0 (1), root[root]@localhost select count(N) from sbtest where sbtest.id not in ( select id from t1 ) ~~~ #显示次数最多的前两个 ~~~ [root@rac3 python]# mysqldumpslow -s c -t 2 /opt/mysql/data/slowquery.log Reading mysql slow query log from /opt/mysql/data/slowquery.log Count: 12 Time=0.00s (0s) Lock=0.00s (0s) Rows=1.0 (12), root[root]@localhost select count(N) from tab_1 Count: 2 Time=412.54s (825s) Lock=0.00s (0s) Rows=1.0 (2), root[root]@localhost select count(N) from sbtest ,t1 where t1.c=sbtest.c ~~~ 9.