insert优化

 

从这节课开始,插入多条数据的时候不能一条一条插入,因为每一次的insert都会与数据库进行建立连接、进行网络传输,性能会比较低。优化如下

 

一、插入的数据量不超过十万

 

1、批量插入,当需要插入500~1000条数据,当需要插入上万条数据时就需要分多次insert插入

 

 

2、手动事务提交。MySQL的事务提交方式默认是自动提交,每次insert都会重新开启和关闭事务,导致事务操作频繁

 

 

3、主键顺序插入。顺序插入的性能高于乱序插入,原因取决于MySQL的数据组织结构(下节课会学) (1)主键乱序插入: 2 4 3 8 6 5 7 1 9 (2)主键顺序插入: 1 2 3 4 5 6 7 8 9

 

二、插入的数据量超过10万

 

当业务需要插入几百万大量数据的时候,使用insert语句插入性能较低,此时可以使用MySQL数据库提供的load指令进行插入 使用load指令分为三个步骤,如下

 

步骤一:客户端连接服务端时,加上参数 --local-infile

 

步骤二:设置全局参数local_infile为1,表示开启从本地加载文件导入数据的开关

 

步骤三:执行load指令将准备好的数据sql.log,加载到表(tb_user)结构中