开发过程中,我们经常跟数据库打交道。所以MySQL优化也是我们应该知道的,并且在日常开发中要注意的。关于MySQL优化可以分为三个方面,优化sql查询语句,优化数据库结构,优化MySQL服务器。
优化查询
1.我们可以使用索引查询,对一些关键字段建立索引。
2.使用连接查询代替子查询。因为执行子查询时,MYSQL需要创建临时表,查询完毕后再删除这些临时表,子查询的速度会受到一定的影响。join是走嵌套查询的。小表驱动大表,且通过索引字段进行关联。如果表记录比较少的话,还是OK的,数据量达到百万的以上效率也是比较低的。
3.对于使用LIKE的查询,查询如果是”%xx”不会使用到索引,”xx%”会使用到索引
优化数据库结构
1.控制单表字段数量,单表字段数量上限一般不超过30个,表字段控制少而精,可以提高I/O效率。
2.选择合适的数据类型。字段尽量加上非空约束,金额等精确度要求较高的用decimal
3.根据需求选择合适的数据库引擎。
优化数据库服务器
1.可以把数据库服务器设置为读写分离;