mysql查询速度慢的分析和解决

一.定位执行慢的sql,如2秒内没执行完的抽取出来

show engines;
查看慢查询时间
show variables like 'slow%';
查看设置多久是慢查询
show variables like 'long%';
修改慢查询时间
set long_query_time=1;
打开慢查询记录日志
set global slow_query_log='ON';
查看哪些线程正在运行
show full processlist
查看最大连接数
show variables like '%max_connections%';
当前连接数
show status like 'Threads_connected%';

二.解决

1.首先从自身sql入手,把sql放入navicat执行一次,看看需要多久,sql军规是否遵守,*,in等是否出现

2.最大连接数是否不满足当前连接数,考虑扩大?

3.索引优化,常用字段做索引,而且txt等数据类型不要做索引

4.分库分表,有的库表专门做查询

5.数据库开启缓存

6.服务器硬件升级

原文地址:https://www.cnblogs.com/tongcc/p/11283005.html