以下是引用reachtone在2008-9-14 23:23:00的发言:
哈哈,好!拿实例说话最能服人,确实不错!比原来快的N倍了。还用我的机器,对一楼的测试结果为12秒。不过,这个速度比我那个还是慢点,呵呵
很是佩服老六,这么快就拿出了优化方案!
通过这个例子,我们看到了在FOXTABLE中用代码确实是非常高效,很简单的几行代码就搞定了。那晚我为了和您较真,写那个程序花了一个多小时啊(当然,中间因为对ACCESS语句不熟,后来改用SQL SERVER也浪费了一点时间)。
哈哈,其实方式不同,是没有可比性,你相不相信,FOXTABLE可以做到比你更快?
测试方法:
打开测试文件,在定义内部查询表的窗口输入下面的SQL语句:
TRANSFORM Sum(语文) AS 语文 SELECT 姓名 FROM {成绩表} GROUP BY 姓名 Pivot 班级
然后单击预览按钮,只需要2.4秒就能得出结果,比你用SQL统计的效率还高不少呢。
要知道,这是基于Access平台测试的,如果SQL SERVER,效率还要高出一筹。
通用的代码要考虑方方面面,效率要低一些,追求效率的话,直接用SQL语句。
不过我是宁愿多花几秒钟,也愿意用CrossTableBuilder开发,因为对于大多数统计,用户是感觉不到速度差别的。
除非是大型数据库,需要统计未加载的数据,我才会考虑查询表。
[此贴子已经被作者于2008-9-15 9:05:29编辑过]