一个关于导入的操作

这些天在做一个表的导入操作,
操作步骤:先验证第一个工作表数据的正确性。如果数据正确,导入到中间的一个临时表中。然后再通过,存储过程导入到真实表中。
第二张,第三张工作表也是一样的。
如果有一个表的数据有问题,则要删除。真实表,和临时表里的全部数据。


这样就会出现一个问题.现在真实表的数据现在有190825条数据。只有主键索引。如果现在导入第二个工作表时,在验证数据正确性时。发现数据缺失。或其它数据问题。此execl

不能再导入了。要删除导入到真实表的1028条数据,和临时表里的全部数据。现在主要问题出现在.在真实表中删除数据时。会出现要30到1小时,有时更多的时间。出现假死。导

入面面,一直在那里运也不运的还会出现用户等到不了,就关了浏览器。(浏览器关闭后,导入的操作就会停止)导致数据里出现脏数据。再次导入时。会一直报错,说有约束重

复。

解决方案:
1 启用历史归档表,所有操作的归档数据放到另一个表里,这样,真实操作表的数据就会少好多,如果出现异常,删除的速度也会很快

2 验证一个工作表,导入一个工作表的数据到临时表中。再去验证第二个工作表,如果没有问题再导入到临时表中。真到最后全部工作表都导入到临时表中.再用存储过程导入到真实表中。这样如果中间有一个工作表的数据有问题,删除也只是删除临时表里的数据,量不会很大,并且这个系统操作的人也不是很多。这样肯定就行了.

主要是,删除,更新操作在数据量小的表里进行。

如果转载写明出处,谢谢

原文地址:https://www.cnblogs.com/opaljc/p/3367680.html