Foxtable(狐表)用户栏目专家坐堂 → sqlcompute计算如何优化


  共有2326人关注过本帖树形打印复制链接

主题:sqlcompute计算如何优化

帅哥哟,离线,有人找我吗?
xujie80
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:350 积分:3412 威望:0 精华:0 注册:2015/5/12 15:33:00
sqlcompute计算如何优化  发帖心情 Post By:2017/6/27 9:23:00 [只看该作者]

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,这样客户打开窗口时间过长,如何优化?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/6/27 9:40:00 [只看该作者]

"部门村居"做分组统计,然后把数据填充到zc表



 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/27 11:24:00 [只看该作者]

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

 

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

 

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


 回到顶部