SQL优化——插入数据优化(load指令的使用)

  • 插入数据时的优化
  • 主键优化
  • 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加载数据的效率提升还是十分明显的。
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值