Mysql优化可以从4个相关层次去优化:
1、设备硬件优化
2、 Mysql系统配置优化
3、Mysql表结构优化
4、Mysql语句优化
相关的优化效果也是按以上序号递增
硬件优化和配置优化暂时不做陈述。对于表结构优化,应该从以下方面来考虑:
1、尽量使用int类型的字段取代字符类型的字段。原因:int类型的操作速度要大于字符类型的速度
2、其次对于表中字段类型尽量够用即可,无需取的过大。原因:字段大小越小操作速度越快
3、表的字段尽避免使用null。原因:用null会造成还要判断这个字段是否为null,效率低,用其他非业务数据替代null
4、增加索引
其中最常用到的方式为增加索引,由以上索引可以大致分为4类:
1、普通索引
2、主键索引
3、唯一索引
4、全文索引
创建索引的方式有以下有3种方法:
1、create index indexname on tableName(columnName);这种仅仅适用于普通索引和唯一索引
2、Alter table tablename add index indexname (column);备注:创建主键索引alter table tablename add primary key(column);
3、创建表的时候创建索引
查看sql的执行计划一般可以看这个语句有没有对应的索引:
explain ***;其中索引的执行计划一般查看字段有type(索引类型),possible_keys(可能会用到的索引),key(用到的索引),rows(查询的行数)
需要添加索引的地方:
where;
order by;
join;
索引覆盖