cyclzdblog

1. 提前规范好excel的格式,方便获取excel的数据

2. 尽可能的避免循环嵌套

3. 如果存在需求要从数据库获取数据回来跟excel中的数据进行对比,应尽可能以此就获取回来然后在进行对比,而不是循环获取来对比,建立数据库链接是一个很耗时间的操作。

4. 数据插入数据库使用一次批量插入的方法,不能使用一条条循环插入的方法,因为建立数据库链接是一个很耗时间的操作

5. 如果数据量很大,假如有3000条,这个时候就应该将3000条切开成几个数组循环批量插入,比如切成10个数组,每个数组300条,牺牲一点时间减轻服务器的压力。

6. 使用事务时候需要注意,批量插入可能会使事务失效(假如你插入300条一次,到了第200条失败了,这个时候你的事务可能没办法将已经插入的回滚,laravel框架查询构建器的insert方法就存在这种问题,不确定其它框架是否存在这个问题),这个问题可以在每一次批量插入的数据中加一个唯一的批次号,然后在整个插入的过程中如果存在失败,则将刚才生成的批次号(可能有多个了)传到数据库执行delete操作,即可实现手动事务回滚。

 

分类:

技术点:

相关文章:

  • 2021-09-19
  • 2021-12-23
  • 2021-12-30
  • 2021-11-23
  • 2021-05-06
猜你喜欢
  • 2021-09-11
  • 2021-11-23
  • 2022-01-05
  • 2021-12-22
相关资源
相似解决方案