执行时间长 等待时间长
1 查询数据过多
能不能拆,条件过滤尽量少
2 关联了太多的表,太多join
join 原理。用A表的每一条数据扫描B表的所有数据。所以尽量先过滤。
3 没有利用到索引
- 单值索引
- 复合索引:条件多时,可以建共同索引(复合索引)。复合索引一般会优先使用,有些情况下,就算有索引具体执行时也不会被使用。

索引针对 列 建索引。但并不可能每一列都建索引,索引并非越多越好。当数据更新了,索引会进行调整。也会很消耗性能,, MySQL 并不会把所有索引都用上,只会根据其算法挑一个索引用。所以建的准很重要。
4 服务器调优及各个参数设置
缓冲、线程数等(不重要,DBA的工作)
