以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  sqlcompute计算如何优化  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=102866)

--  作者:xujie80
--  发布时间:2017/6/27 9:23:00
--  sqlcompute计算如何优化
For Each nm As String In DataTables("haihe").sqlGetValues("部门村居")
    Dim dr As DataRow = DataTables("zc").AddNew()
    dr("部门村居") = nm
    dr("宅基地面积") = DataTables("haihe").sqlCompute("sum(宅基地面积)","[部门村居] = \'" & dr("部门村居") & "\'")
    dr("主房面积") = DataTables("haihe").sqlCompute("sum(主房面积)","[部门村居] = \'" & dr("部门村居") & "\'")
    dr("附房面积") = DataTables("haihe").sqlCompute("sum(附房面积)","[部门村居] = \'" & dr("部门村居") & "\'")
Next
这段代码循环次数30次,数据量3万条,耗时6.67S,这样客户打开窗口时间过长,如何优化?

--  作者:有点蓝
--  发布时间:2017/6/27 9:40:00
--  
"部门村居"做分组统计,然后把数据填充到zc表



--  作者:有点色
--  发布时间:2017/6/27 11:24:00
--  

 不要循环用 sqlCompute,每一次执行,都很耗时的。

 

 建议直接统计生成一张表,然后直接查那张表。

 

 或者是,把表数据都加载到foxtable里,然后再查。