Mysql数据库 18.Mysql SQL优化

SQL优化

一、插入优化

多条插入语句,影响执行效率

优化方案

1、批量插入:

在一条insert语句中多条数据,但是如果数据量过大,也不能完全使用一条语句语句,建议数据量为一次性插入1000条以下的数据

如果数据量多大,可以使用拆分为多条insert语句

为避免MySQL事务影响,当数据量过大时,可以采用手动提交事务

Mysql数据库 18.Mysql SQL优化_第1张图片

2、主键顺序插入:

因为如果主键的顺序插入高于乱序插入(一般情况下都是顺序)

二、排序优化

避免使用文件排序(Using filesort),效率低

文件排序:

将所有数据列为一个文件,查询文件中的所有数据,在进行排序

尽量使用索引(索引相当于目录)

多字段排序:

多字段排序要尽量遵循最左前缀原则,不要对一个字段升序对另一个字段降序,否则也会使用到文件排序

最左前缀原则:

只有从左到右的索引在使用时可以被查询到

MySQL最左前端是指在使用索引时,只有从从左到右的索引列才能被用到,也就是如果索引是(a,b,c),那么查询条件是a、ab、abc才能使用这个索引

在查询语句前加入explain

explain select 字段列表 from 表名 where 条件 order by 字段名;

优化方案

创建索引

Mysql数据库 18.Mysql SQL优化_第2张图片

文件排序

Mysql数据库 18.Mysql SQL优化_第3张图片

使用索引进行排序,不使用文件排序

Mysql数据库 18.Mysql SQL优化_第4张图片

如果违反最左前缀原则,还是会使用文件排序,不会使用索引进行排序

你可能感兴趣的:(Mysql数据库,数据库,mysql,sql)