以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 分页流水账的统计 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=115875) |
-- 作者:elfing -- 发布时间:2018/3/15 22:30:00 -- 分页流水账的统计 设计了一个分页加载的流水账,但是需要对库存进行统计,如果使用如下代码,每次重置所有产品的库存需要大量的时间,而且数据量越大越慢,想请教有没有效率更高的代码可以用来统计每个产品的实时库存? 以下内容为程序代码: 1 Dim dt1 As Integer = DataTables("半成品流水").sqlCompute("Sum(入库)","半成品件号 = \'" & e.DataRow("半成品件号") & "\'") 2 Dim dt2 As Integer = DataTables("半成品流水").sqlCompute("Sum(出库)","半成品件号 = \'" & e.DataRow("半成品件号") & "\'") 3 e.DataRow("库存") = dt1 - dt2 |
-- 作者:有点甜 -- 发布时间:2018/3/15 22:44:00 -- 不要用重置列,单独写一个代码计算,如
Dim dt As Datatable = DataTables("半成品流水") |
-- 作者:elfing -- 发布时间:2018/3/15 23:23:00 -- 时间 多谢 试验了一下,以重置的方式计算大概30秒,以代码计算方式大概28秒,这已经是最快的方式了吗?分页流水账只使用了一个月不到,如果后面数据更多是不是每次加载都会特别慢?
|
-- 作者:有点甜 -- 发布时间:2018/3/15 23:37:00 -- 关键是执行了多少次 sqlCompute 函数,每一次执行都是很耗时的。
或者试试改成下面这样,如果还是耗时,做具体实例发上来测试优化
systemready = false |