Foxtable(狐表)用户栏目专家坐堂 → [求助] 大批量数据新增/更新到数据库


  共有209人关注过本帖树形打印复制链接

主题:[求助] 大批量数据新增/更新到数据库

帅哥哟,离线,有人找我吗?
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107147 积分:544978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/5/8 10:53:00 [显示全部帖子]

要快,需要添加一个辅助的东西。

1、在数据库里建一个同结构的新表,如果是SqlServer,参考这种方式批量把数据导入这个新表:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=147288
2、然后使用sql批量处理

已有数据进行关联更新,类似:
update a set a.列1=b.列1,a.列2=b.列2,.... from 数据库原表 as a  inner join 同结构的新表 as b where a.主键1=b.主键1 and a.主键2=b.主键2 

新数据进行关联插入,类似:
insert into 数据库原表(列1,列2,....) select 列1,列2,.... from 同结构的新表 as b where not exists ( select 主键1 from 数据库原表 as a where a.主键1=b.主键1 and a.主键2=b.主键2 )

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107147 积分:544978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/5/8 11:32:00 [显示全部帖子]

不是2种方法。2楼是只是一种方法的2个步骤,合起来使用。

如果使用sqlbuck导数据,1W行不应该超过1秒,超过了肯定是用法不对

 回到顶部