以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 经验分享,关于数据源选择的考虑 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=67357) |
-- 作者:lyfxybc -- 发布时间:2015/4/22 20:42:00 -- 经验分享,关于数据源选择的考虑 关于数据源选择的考虑
刚开始接触狐表,直接用access作为数据源,编写了生产管理软件,现在已经用了2年,数据库接近300M,现在感觉统计数据满了很多,其中一个合同报表,需要五大车间年初至今(一直到全年)的数据,并且要求合同完成多少,未完成多少,都要计算出来,累计时间最早15分钟统计完,之后调整了统计代码统计时间还需要50‘’---90‘’之间。同事查询数据时加载也慢。用了几天时间,改用sql2005作为数据源,经过调整(时间#改为\',值为true和false的列改为1和0,以及条件语句等都要改过来,数据表导出导入等工作),今天全部电脑调试完毕,速度比access快的惊人。在所有电脑均统计了合同报表,经使用统计速度均3秒内完成。查询速度也非常快,以前更新一下目录树也需要5-6秒甚至更多的时间,现在基本不存在等待情况。
建议新手根据自己的需求,尽量开始就用sql作为数据库,以免速度也来越慢,以后更换虽然简单,但是所有的报表,日期、true、false、iif等都要调整,工作量也很大,改了这边,忘了那边。
另外,统计数据是可能用到辅助表,需要在辅助表填充数据 如用下列代码
dim f As New Filler
f.SourceTable = DataTables("订单") \'指定数据来源 ..... ..... ....... 但是,当数据量较大,有时达到100M以上的数据量时,或许数据更多,上面代码或许慢了许多 碰到这种情况,我才用了类似下列代码先导出,再倒入 \'导出当天订单
For Each File As String In Filesys.GetFiles("c:\\temp")
....
....
同样的数据量,后者速度随着数据量的增多,效果越来越明显快,不知道大家是否有同感
当然上面方法不一定最好,但是速度提高了
不知道大家还有更好的方法提供一下。
最后感谢狐表,感谢狐表团队提供了这么一个好的数据管理软件开发平台。 同时感谢帮助过我的所有老师。 |
-- 作者:九易六 -- 发布时间:2015/4/23 6:40:00 -- 感谢分享。很好的开发经验啊。 |
-- 作者:狐狸爸爸 -- 发布时间:2015/4/23 8:50:00 -- 顶楼主,谢分享 |
-- 作者:lyfxybc -- 发布时间:2015/4/23 17:35:00 -- 谢谢,这是自己的一点体会。 |