一.连接慢
查询配置层面的问题
查看设置的最大连接数show variables like "%max_connections%";
实际连接数show status like "Thread%"
实际缓存大小show status like "Innodb_buffer_pool%"
二.执行慢
索引:聚簇索引、普通索引
索引是否生效
索引不生效的情况,如模糊查询
压测过程中查看SQL慢情况show full processlist;
执行计划,使用explain关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的,分析你的查询语句或是表结构的性能瓶颈。
如:explain select * from table where id=1;
id:select查询的序列号,包含一组数字,表示查询中执行select子句或操作表的顺序,id值越大优先级越高,越先被执行 。
type:访问类型,sql查询优化中一个很重要的指标,结果值从好到坏依次是:
system > const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery > index_subquery > range > index > ALL
一般来说,好的sql查询至少达到range级别,最好能达到ref