查重、插入新数据性能
sym44 2018-04-24 10:32:59 有一个1000w行左右的表,每行大约100个字段。主键为OBJECT_ID。想要实现新数据插入时,判断是否主键已存在,如果存在,更新字段;如果不存在,插入新数据。使用Python Pandas Dataframe一行一行遍历,每天数据量大约在5000行左右。但是这样性能很堪忧,每分钟只能遍历50-60行(其他行数较少、字段简单的表,每分钟处理量在几百行,唯独这张表很大),各位大大有没有什么好的建议?谢谢了,附上代码。
begin tran
if exists (select * from A with (updlock, serializable) where [OBJECT_ID] = ?)
BEGIN
update A set
abc = ?,
zxy = ?
where [OBJECT_ID] = ?
END
ELSE
BEGIN
insert into A
(
[OBJECT_ID], abc, zxy
)
values
(?, ?, ?)
END
COMMIT tran