MySQL进阶(七)MySQL优化思路

优化思路

(1)看表的数据类型是否设置合理,有没有遵循选取数据类型越简单越小的原则

(2)表中的碎片是否整理

(3)表的统计信息是否收集,只有统计信息准确,执行计划才可以帮助我们优化SQL

(4)查看执行计划,检查索引使用情况,没有使用索引,考虑创建

(5)创建索引之前,查看索引的选择性,来判断这个字段是否适合创建索引,索引的选择性越高查询效率越高,因为选择性高的索引可以让MySQL在查找的时候过滤掉更多的行。主键索引和唯一索引的选择性是1,这是最好的索引选择性

(6)创建好索引之后,对比两次的结果,看是否查询效率提高了

说明:合理创建索引的三个"经常"(1)经常被查询的列(一般放在where条件后面)(2)经常用于表连接的列(3)经常排序分组的列(order by或者group by后面的字段)


查看执行计划的小技巧

(1)查看type列,如果出现all关键字,后面的内容就不用看了,代表全表扫描

(2)查看key列,看是否使用了索引,null代表没有使用索引

(3)查看rows列,表示执行过程中被扫描的行数

(4)查看extra,观察是否有using filesort或者using temporary,这些很影响数据库性能

(5)查看 filtered列,它指返回结果中的行占需要读到的行的百分比


你可能感兴趣的:(MySQL进阶(七)MySQL优化思路)