今天去一家公司面试,我应该如何插入100w条数据,我说一说我的想法吧,首先我拿到这100w条数据,想到的是,不可能一次插入吧,如果一次插入,如果有一条数据出问题了,前面的数据不都白插入了了吗?(默认会打开事务),那这个时候,除了一次性插入,我想到的就是分批次插入,那么如何分批次插入呢?我想到两种,
第一种是,对每一个批次我都要求开一个独立的事务,如果数据遇到问题后,那么本次事务的批次失败,回滚,其余正常执行的批次,继续执行,各个批次之间没有任何的影响,那么这样就可以保证绝大多数数据插入成功,最后我们再来处理有问题的批次。
第二种是,有一部分和第一种一样,对每个批次开一个事务,然后在第一种的基础上加一个允许错误的发生个数的伐值,那么当达到这个伐值后,我会回滚掉所有的事务,不管是成功的还是失败的,为什么会这样做呢,我的想法是,如果错误过多,我认为这份数据或者当前网络条件不适合做插入的操作,需要停止下来排查,等条件合适了,再去做这个插入的操作。
以上是我的想法,不知道大家是怎么想的,或者说,大家有没有更好的想法,希望大家说说自己的看法,多沟通,多交流,多进步
100w条数据如何插入
最新推荐文章于 2024-01-30 10:11:50 发布