- 插入数据时的优化
- 主键优化
- order by优化
- group by优化
- limit优化
- count优化
- update优化
1.插入数据时的优化
批量插入数据时最好最多别超过一千条,如果一次批量插入几万条数据,可以将其分割成多条insert语句进行插入。
mysql的事务提交方式是默认自动提交的,当执行完一条insert语句后事务就提交了,再次执行一条insert,执行之前开启事务,执行完毕之后自动提交事务,这时候就会涉及到事务的频繁开启与事务的提交,所以建议手动控制事务。执行insert语句之前先开启事务,等多条insert语句执行完毕以后,统一提交事务。
主键顺序插入。
1.1 大批量插入数据
大批量插入数据,建议使用load指令,而不建议采用insert指令。
mysql查看参数的语法格式:
select @@local--infile;
开启local_infile的开关,此时数据就可以通过load指令加载进来了。
set global local_infile = 1;
将数据文件上传,并使用load指令加载到mysql数据库表中
load data local infile '/root/load_user_100w_sort.sql' into table tb_user fields terminated by ',' lines terminated by '\n';
将100w的数据量加载到mysql中所耗时间为大概17s,如果采用insert语句去加载数据,大概需要耗时十多分钟,这个load加载数据的效率提升还是十分明显的。