以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请问关于更新的速率的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=126245)

--  作者:km007
--  发布时间:2018/10/17 13:45:00
--  请问关于更新的速率的问题
我想问下:我现在需要更新保存 一万行或以上的数据,并同时更新 三个或以上字段的内容,请问用哪种方法速度比较快和效率比较高?

方式1:
Dim drs As List(of DataRow) = DataTables("订单").SQLSelect("产品 = \'PD01\'")
For Each dr As DataRow In drs
    dr("折扣") = 0.15
    dr("折扣1") = 0.15
    dr("折扣2") = 0.15
Next
DataTables("订单").SQLUpdate(drs)

方式2:
For Each dr As DataRow In DataTables("订单").DataRows
    DataTables("订单").SQLReplaceFor("折扣", 0.15)
    DataTables("订单").SQLReplaceFor("折扣1", 0.15)
    DataTables("订单").SQLReplaceFor("折扣2", 0.15)
Next

方式3:
For Each dr As DataRow In DataTables("订单").DataRows
    Dr("折扣") = 0.15
    Dr("折扣1") = 0.15
    Dr("折扣2")= 0.15
Next
DataTables("订单").save
[此贴子已经被作者于2018/10/17 15:38:24编辑过]

--  作者:有点蓝
--  发布时间:2018/10/17 14:55:00
--  
基本没有区别。

数据量大的话可以看看这个:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=98689