- 表输出(提交记录数量):每批次提交的数量,默认是1000,有点bug,修改成500或者其他。示例:

2.表输出的删除问题
(1)删除的每条数据的id都不一样
这种情况下如果查出来的数据,每条数据的id不同,那么就没有问题,之后的表输出的数量就是表输出的数量。
(2)删除的每条数据的company都一样

这种情况下如果查出来的数据有1802条,表输出的提交记录数量是500条,那么会造成的结果就是先删除目标表的数据,之后第一批写入500条,之后又发现company = company,就会将刚写入的500条删除,一直循环到最后一批次302条,写入目标表,结果就会造成实际表输入有1802条,表输出为302条.
解决方案:
第一种方案:将表输出的提交记录数量调大,超过表输入的数量,这样就可以在删除的时候将目标表的数据删除,然后将表输入的数据一次性写入目标表;
第二种方案:可以通过表输入和表输出(裁剪表)的方式实现;裁剪表的作用就是truncate table (table_name);之后再insert into操作。

文章讨论了表输出时遇到的问题,特别是批量删除和插入数据时,由于提交记录数量默认设置导致的数据重复删除和插入。当数据的company字段相同,可能导致数据不一致。提出的解决方案包括增大提交记录数量以确保一次性处理所有数据,或者使用裁剪表(清空后再插入)来避免问题。
1386

被折叠的 条评论
为什么被折叠?



