Foxtable(狐表)用户栏目专家坐堂 → reachtone兄,你经历正好说明Foxtable不仅是高效的,更是容易的,物有所值的。


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

主题:reachtone兄,你经历正好说明Foxtable不仅是高效的,更是容易的,物有所值的。

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
reachtone兄,你经历正好说明Foxtable不仅是高效的,更是容易的,物有所值的。  发帖心情 Post By:2008/9/14 21:00:00 [显示全部帖子]

你的判断根据是两个:
1、处理效率
2、难度

为了说明问题,就用你上次的例子做说明。
首先下载9月14日更新,打开下面的示例文件:

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:分组测试.rar


然后运行下面的代码:

Dim b As New CrossTableBuilder("统计表1",DataTables("成绩表"))
b.HGroups.AddDef("姓名")
b.VGroups.AddDef("班级")
b.Totals.AddDef("语文")
b.Build '生成统计表

10万记录,1400个水平分组,50个垂直分组
Foxtable一样可以在6秒多得出结果,并不比你差多少。
这个结果不用SQL语言统计,也不用基于高效的SQL SERVER服务器。
我记得你说过,这个统计花了了你一晚上的时间,而我现在用foxtable,不到一分钟就能写出来,更重要的是,我还可以生成更多格式复杂的表格,同样一分钟左右就可以完成编码,而这些统计,有的你是花一个晚上也不一定能做出来的。

所以从效率来说,Foxtable并不差,编码的轻松程度,更是超过任何开发工具,别忘记,这还只是一个小范围公测的软件。

至于用户觉得易表容易,主要是因为易表的公式编辑器有即时的帮助,Foxtable没有,但是这是暂时的,Foxtable的代码编辑器很快可以完工。

 

 


[此贴子已经被作者于2008-9-14 21:09:09编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2008/9/15 8:11:00 [显示全部帖子]

以下是引用lxl在2008-9-15 7:07:00的发言:

我的电脑要2分钟图片点击可在新窗口打开查看

计算时间还可以用.net提供的StopWatch

Dim sw As New System.Diagnostics.StopWatch
sw.Start
……
……
sw.Stop
return sw.ElapsedMilliseconds

[此贴子已经被作者于2008-9-15 7:13:00编辑过]


呵呵,我最爽,我运行c版的代码是23秒。
以后买电脑带上这个程序,对于新的电脑,超过15秒就是不合格。


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2008/9/15 8:59:00 [显示全部帖子]

以下是引用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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2008/9/15 9:36:00 [显示全部帖子]

以下是引用fangling在2008-9-15 9:31:00的发言:
同意老六的观点,微软的VS2008开发环境在数据方面新增的Linq功能,就是方便用户不直接写SQL语句,虽然牺牲点运行效率,但开发效率会提高很多,因为不同的数据库,其SQL语句还不能完全通用,这些底层的联接转换操作应该由系统处理才对,不应由用户来考虑,这也是今后发展的大趋势。


呵呵,正式因为LINQ的诱惑,我差点升级到VS 2008,


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2014/4/26 8:57:00 [显示全部帖子]

这么久的帖子,也被翻出来了?

6年后的今天,我再测试,是2.4秒,i5笔记本。


 回到顶部