我们已经有大约5000万个JSON序列化字符串,它们大致按照以下过程插入到SQL中:
整个批次都是在一个SSIS脚本任务中完成的,并且已经运行了很长时间。
对于上面的步骤4和5,每个源行实例化一个新的SqlCommand和.ExecuteScalar()以检索插入的行ID,以便在该对象的后续插入/更新中使用。
一切都行得很好但是我们需要将所有源数据重新导入到一些新数据库中,速度非常慢,每秒只有几百行。很明显,大量的单独读取,插入和更新都很慢,也是ADO的开销。
我不知道如何提高速度,因为许多功能需要阻止来保证唯一性。
如果我使用快速加载执行SSIS数据流任务,它将无法保证转换期间的唯一性。
在验证唯一性然后运行整体插入过程之后,将500个源行一次分成10个线程是否应该谨慎?
是否有更好的概念方法可以达到相同的效果?