发现问题
- 使用mysql慢查日志,对有效率的问题sql进行监控
慢查日志分析工具mysqldumpslow,pt-query-digest
原则:查询次数多且每次查询时间长的sql
IO大的sql(扫描的行数多)
未命中索引的sql(扫描行数远大于返回的行数)
优化
sql优化
explain查询sql的执行查询
- max()查询 ——-》增加索引
- count ()查询 ——-》区分count(* or null)与count(id)
- 子查询优化为join查询
group by 优化
limit优化(常常伴随order by从句使用)
索引 优化
索引可以优化查询效率但是降低写入效率
1, 重复索引 (主键id和unique(id)相当于定义了两次索引)
2,冗余索引 (主键id和key(name,id))
- 查询索引
- 删除不用的索引