一.为什么别人问你MySQL优化的知识 总是没有底气
1.因为你只是回答一些大而化之的调优原则,
a.比如:”建立合理索引”(什么样的索引合理?)
b.“分表分库”(用什么策略分表分库?)
c.“主从分离”(用什么中间件?)
2.没有从细化到定量的层面去分析.
a.如qps提高了%N?
b.有没有减少文件排序?
c.语句的扫描行数减少了多少?
二.怎么做?
当mysql效率不高时,我们首先要做的,不是优化,而是---诊断分析,找出瓶颈所在. CPU,内存,IO? 峰值,单条语句
1.分析常用命令
a).show processlist 开启慢查询获取有问题SQL
b).explain 分析语句
2.语句等待时间长:
c).调优服务器参数(如缓冲区,线程数等)
3.语句执行时间长:
d).表关联多(表设计有缺陷)
e).索引没优化
f).语句没优化(where 条件 计算类语句等)
.
等等
这里只是简单的做一个描述。
那么,本系列博客,会展开分析一下mysql相关的只是,从优化到索引的创建,好好巩固学习一下做一个总结,把自己的心得分享出来和大家交流。
希望以后再也不出现这种尴尬局面,觉得自己懂,但其实还是不会。
本节通过图片的形式,总体梳理一下需要掌握的脉路,也是自己学习的路线,整体如下:
图1.MySQL服务器调优思路
图2. sql优化
图3. 索引学习
以上就是Mysql优化与索引总分析【图解】的内容,更多相关内容请关注PHP中文网(www.php.cn)!