这是我的情况,我的客户希望从csv文件批量插入100,000多行到csv文件,这很简单,但需要根据数据库中已有的数据检查这些值(这种产品类型是否存在?这个产品还在卖吗?等等。更糟糕的是,这些文件也将在白天上传到实时系统中,所以我需要确保我不会长时间锁定任何表。插入的数据也将分布在多个表中。
我一直在将日期添加到临时表中需要几秒钟,然后我尝试创建一个WebService来使用Linq开始处理表并用无效标记标记任何错误的行(这可能需要一些时间)。验证完成后,我需要获取有效行并将行更新/添加到相应的表中。
是否有一个我不熟悉的过程?
答案 0 :(得分:0)
对于较小的数据集,我建议
IF EXISTS (SELECT blah FROM blah WHERE....)
UPDATE (blah)
ELSE
INSERT (blah)
您可以在块中执行此操作以避免服务器负载,但这绝不是一个快速解决方案,因此SSIS将更受欢迎