Bulk merge?# DotNet - 窗口里的风景
M7
1 楼
我有很多rows(比如说10万条)要写进SQL server. 现在用的是DataTable.
WriteToServer(). 相当于bulk insert, 效率很高。
但是在一个比较少见的情况下,这10万条rows里面会有很多重复,也有可能全都是重
复的。DataTable.WriteToServer 报错primary key violation, 一次只说一条重复。
所以依照error message, 删除重复,再writeToServer的方法效率极低。
DataTable有没有类似bulk merge的操作?
如果没有bulk merge, 至少可以bulk insert到一个temp table, 然后再merge这个
template table to the real destination table. 但是这样分两步的操作,在绝大多
数的情况下(即没有重复的情况下),应该是降低了insert的效率。
有高人指点一下吗?多谢多谢!
WriteToServer(). 相当于bulk insert, 效率很高。
但是在一个比较少见的情况下,这10万条rows里面会有很多重复,也有可能全都是重
复的。DataTable.WriteToServer 报错primary key violation, 一次只说一条重复。
所以依照error message, 删除重复,再writeToServer的方法效率极低。
DataTable有没有类似bulk merge的操作?
如果没有bulk merge, 至少可以bulk insert到一个temp table, 然后再merge这个
template table to the real destination table. 但是这样分两步的操作,在绝大多
数的情况下(即没有重复的情况下),应该是降低了insert的效率。
有高人指点一下吗?多谢多谢!