mysql优化

mysql优化

1.sql优化

1:尽量避免 count(*),limit,null,union,like, select *
2:join 代替子查询,子查询会创建临时表做耗时操作
3:不要在列上进行运算操作
4:union 会去重 自动加上distinct 创建临时表做耗时操作

2.索引优化

1:索引失效:字段为null
2:避免使用or查询
3:合理使用=运算,字符类型不适用否则索引失效导致全表扫描

3.表结构优化

1:字段设计尽避免null值
2:字段类型尽量使用int类型,最小长度
3:varchar和char都是字符串,char适用于固定长度始终占用内存,常用用户密码,盐值等
4:避免text和blob类型
5:适当分表分库,分库后主数据库可用于插入和更新数据,从数据库可提供查询服务,从而降低数据库的访问压力

4.硬件配置优化

MySQL 对硬件的要求主要体现在三个方面:磁盘、网络和内存
1:磁盘应该尽量使用有高性能读写能力的磁盘,比如固态硬盘,这样就可以减少 I/O 运行的时间,从而提高了 MySQL 整体的运行效率
2:保证网络带宽的通畅(低延迟)以及够大的网络带宽是 MySQL 正常运行的基本条件,如果条件允许的话也可以设置多个网卡,以提高网络高峰期 MySQL 服务器的运行效率
3:MySQL 服务器的内存越大,那么存储和缓存的信息也就越多,而内存的性能是非常高的,从而提高了整个 MySQL 的运行效率

原文地址:https://www.cnblogs.com/yiyangyu/p/mysqlvm002.html