以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  如何提高加载效率  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=148119)

--  作者:rogen
--  发布时间:2020/3/31 15:15:00
--  如何提高加载效率

sql后台有20w数据,物料编号是唯一字段

要导入5w条记录,里面有些是已有物料,需要更新数据到后台,有些是新物料,需要追加

因为数据量大,效率是个问题

我的思路是:读取这5w条记录,先从后台加载含有这5w条记录里的物料到内存,然后做比对

我目前的做法是,遍历excel记录,用append合成物料号,比如 \'WL001\',\'WL002\',\'WL003\'....

然后用s lq语句从后台加载数据  "se  lect * fr om {物料表} where 物料编号 in (" & wlbh & ")"

以前在哪看到资料,说用in语句效率很低,测试下来也确实不高

请教还有啥好的处理方式不?


--  作者:有点蓝
--  发布时间:2020/3/31 15:48:00
--  
没有什么好办法,用in也是我想到的最好办法了。

或者先统一新增到数据库一个临时表里,再通过sql更新