以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  大量数据表datatable赋值速度慢优化  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=179998)

--  作者:z769036165
--  发布时间:2022/9/22 14:23:00
--  大量数据表datatable赋值速度慢优化
datatable表数据大于20万,在另外的表中查找需要的值,对表中超过2万的行进行赋值,但是发现效率比较慢,超过2分钟才处理完,请问下有没有优化的办法

Dim dic As new Dictionary(of Row, String)
Dim da As Table = e.Form.Controls("Table1").Table
Dim w As DataRow
For Each dr As Row In da.Rows
    w = dt.Find("单号 = \'" & dr("单号") & "\'")
    If w IsNot Nothing Then
        dic.Add(dr,w("未领数量"))
    End If
Next
\'----------------上述代码发现耗时10秒左右,下面耗时很长
For Each dr As Row In dic.Keys
    dr("未领数量") = dic(dr)
    dr("未出数量") = dr("未出数量") - dr("未领数量")
Next
[此贴子已经被作者于2022/9/22 14:24:38编辑过]

--  作者:有点蓝
--  发布时间:2022/9/22 14:26:00
--  
用sql语句,比如:https://www.baidu.com/baidu?ie=UTF-8&word=SqlServer%20%E5%85%B3%E8%81%94%E6%9B%B4%E6%96%B0


--  作者:z769036165
--  发布时间:2022/9/22 14:37:00
--  
一个mysql的表和一个sql server的表,如果能用sql早就用了
--  作者:有点蓝
--  发布时间:2022/9/22 14:44:00
--  
这种慢也就慢了,没有办法

考虑在SqlServer里使用链接数据库连接mysql:https://www.baidu.com/baidu?ie=UTF-8&word=SqlServer%20%E9%93%BE%E6%8E%A5mysql