以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 十万的数据加载半天 [已经初步解决] (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=50948) |
-- 作者:linshibin -- 发布时间:2014/5/15 20:34:00 -- 十万的数据加载半天 [已经初步解决] 如果用分页加载权限有很麻烦要写好几道的权限。 如果一次加载,多用几个表达式,一直出不来,要怎么办。真是郁闷啊,数据少的时候系统很不错,一多起来就要吐血了,sql2008的数据库。 难道是权限太复杂的原因,有没有什么可以解决的。
注:在登录按钮里面有大量的filter代码,表里面有大量的表达式列
清除所有表达式列公式,需要用的时候再重新加载表达式公式,虽然有点麻烦,但是加载速度提升N倍,从之前的直接打不开,到现在只需要三四分钟十万条数据,后期会进一步优化,并把解决方式公布在本帖。
感谢狐友的热心,提供各种方法,再次表示由衷感谢。谢谢你们 [此贴子已经被作者于2014-5-16 10:48:35编辑过]
|
-- 作者:狐狸爸爸 -- 发布时间:2014/5/15 20:46:00 -- 如果确定是表达式列的影响,可以先关闭表达式,加载完成再开启,参考: http://www.foxtable.com/help/topics/1935.htm
|
-- 作者:linshibin -- 发布时间:2014/5/15 20:47:00 -- 表达式是直接写在列里面的,如何关闭呢? |
-- 作者:linshibin -- 发布时间:2014/5/15 20:48:00 -- 要写在哪个位置,后面怎么开启 |
-- 作者:lihe60 -- 发布时间:2014/5/15 20:53:00 -- 以下是引用linshibin在2014-5-15 20:34:00的发言:
如果用分页加载权限有很麻烦要写好几道的权限。 如果一次加载,多用几个表达式,一直出不来,要怎么办。真是郁闷啊,数据少的时候系统很不错,一多起来就要吐血了,sql2008的数据库。 难道是权限太复杂的原因,有没有什么可以解决的。
注:在登录按钮里面有大量的filter代码,表里面有大量的表达式列 [此贴子已经被作者于2014-5-15 20:39:06编辑过] 不管怎么说,一次加载十万行的数据,思路可以调整。 |
-- 作者:有点甜 -- 发布时间:2014/5/15 20:55:00 -- 以下是引用linshibin在2014-5-15 20:48:00的发言:
要写在哪个位置,后面怎么开启
做个优化,把表达式列的表达式放到一张表里面。表里面有 表名、列名、表达式。
清空全部表达式列的表达式,然后在项目打开之后,比如登陆以后,把表达式设置进去
http://www.foxtable.com/help/topics/1935.htm
|
-- 作者:linshibin -- 发布时间:2014/5/15 20:55:00 -- 工作上需要,即使不加载这么多,我后面也用菜单加一个load重新加载13年数据,结果程序直接卡死,半个小时数据还出不来,还吐血 |
-- 作者:狐狸爸爸 -- 发布时间:2014/5/15 21:38:00 -- 例如: DataTables("订单").DataCols("金额").Expression = "" DataTables("订单").DataCols("单价").Expression = "" DataTables("产品").DataCols("总金额").Expression = "" 加载数据 DataTables("订单").DataCols("单价").Expression = "Parent.单价" DataTables("订单").DataCols("金额").Expression = "数量 * 单价 * (1 - 折扣)" DataTables("产品").DataCols("总金额").Expression = "Sum(Child.金额) |
-- 作者:有点甜 -- 发布时间:2014/5/15 21:47:00 -- 以下是引用linshibin在2014-5-15 20:55:00的发言:
工作上需要,即使不加载这么多,我后面也用菜单加一个load重新加载13年数据,结果程序直接卡死,半个小时数据还出不来,还吐血
表达式重复计算了。你看楼上的帮助。
加载多数据,参考
1、清空表达式,加载完毕再重置;
2、暂停事件执行,加载完毕再开启 http://www.foxtable.com/help/topics/2218.htm
3、根据实际情况再优化处理 |
-- 作者:linshibin -- 发布时间:2014/5/15 22:37:00 -- 我是在登录窗口里面写的filter每个人加载不同的数据 在项目事件AfterOpenProject中: Forms("用户登录").Open() 这个代码我要放哪里呢 |