1.分析查询日志,可以用pt-query-digest工具进行分析.
2.使用show profile
set profiling = 1 检测服务器执行所有语句消耗的时间,并存在临时表中
show profiles;
show profile for query 2; (2表示临时表的主键id)
3.show status
4.查询不需要的数据,用limit解决
5.最好加field,避免返回不需要的列
6.查询相同的数据,最好做缓存,以后查询缓存
7.count(*),不要count(列名)
8.确保group by和order by中只有一个表中的列,这样才有可能使用索引。
9.优化limit分页:记录上次查询的最大id,下次根据该id来查询