Foxtable(狐表)用户栏目专家坐堂 → 测试了一下DataTable的Load方法的性能(上午冤枉Access了)


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

主题:测试了一下DataTable的Load方法的性能(上午冤枉Access了)

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
测试了一下DataTable的Load方法的性能(上午冤枉Access了)  发帖心情 Post By:2009/6/12 13:02:00 [只看该作者]

在我的电脑,分别用内部表和外部数据源测试,外部数据包括SQL Server和Access
1、Load 5000行数据的时候,内部表和外部表差不多的速度,大概1秒多点完成。
2、Load 50000行数据的时候,SQL Server不到5秒,可是内部表差是50秒多点,后来用Access数据源测试,也是5秒左右

注意:

1、这个测试时针对动态加载数据的,打开文件的时候,速度没有多大的差别。
2、看来动态加载还是用外部数据源好,即使是Access格式的外部数据源,性能也超过内部表很多。

图片点击可在新窗口打开查看
[此贴子已经被作者于2009-6-12 17:40:25编辑过]

 回到顶部
美女呀,离线,留言给我吧!
yangming
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/6/12 13:12:00 [只看该作者]

收到!

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


加好友 发短信
等级:幼狐 帖子:147 积分:947 威望:0 精华:0 注册:2009/5/12 9:43:00
  发帖心情 Post By:2009/6/12 13:27:00 [只看该作者]

我还没用到那一块呢,先收下,谢谢!

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


加好友 发短信 F6
等级:狐精 帖子:3036 积分:19229 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2009/6/12 13:46:00 [只看该作者]

以下是引用狐狸爸爸在2009-6-12 13:02:00的发言:
在我的电脑,分别用内部表和外部的SQL SERVER测试
1、Load 5000行数据的时候,两个数据源差不多的速度,大概1秒多点完成。
2、Load 50000行数据的时候,SQL Server不到5秒,可是内部表差是50秒多点。

注意:

1、这个测试时针对动态加载数据的,打开文件的时候,速度没有多大的差别。
2、虽然SQL SERVER的性能远高于ACCESS(内部表就是Access格式的),但是对于大多数人来说,内部表和Access数据源仍然是一个好的选择,毕竟上面测试的是一个极端,既然是动态加载,一般不会动态加载5万行的,而且大多数的引用,也不需要动态加载的。

我会看看内部表的动态加载速度能否提升,但是上面的比较说明,问题在foxtable的可能性较小。

动态加载给人的感觉是相当愉快的综合体验,干净利索,该等的则不多等,不该等的决不浪费时间
关注加载的效率,是件好事,呵呵

[此贴子已经被作者于2009-6-12 13:48:35编辑过]

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


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/6/12 14:08:00 [只看该作者]

以下是引用狐狸爸爸在2009-6-12 13:02:00的发言:
在我的电脑,分别用内部表和外部的SQL SERVER测试
1、Load 5000行数据的时候,两个数据源差不多的速度,大概1秒多点完成。
2、Load 50000行数据的时候,SQL Server不到5秒,可是内部表差是50秒多点。

注意:

1、这个测试时针对动态加载数据的,打开文件的时候,速度没有多大的差别。
2、虽然SQL SERVER的性能远高于ACCESS(内部表就是Access格式的),但是对于大多数人来说,内部表和Access数据源仍然是一个好的选择,毕竟上面测试的是一个极端,既然是动态加载,一般不会动态加载5万行的,而且大多数的引用,也不需要动态加载的。

我会看看内部表的动态加载速度能否提升,但是上面的比较说明,问题在foxtable的可能性较小。

贺老师,您的表是多少列?不会是50000行*2列吧?
我加载的速度比您慢得多, 不知是哪儿的原因.


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


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/6/12 14:31:00 [只看该作者]

    补充:接上,在load时究竟有多少行多少列的数据发生了变动?哪怕数据有100万行,但重新load时数据没有发生任何变动,重新加载时可能一秒钟就够了.如果新增或变动了5000行甚至50000行,但每行只有一列的数据发生了变动,那重新load当然也会很快了,但这样的情况恐怕在实际中并不常见.目前的系统中如果新增了很多行,同时也有多列的数据发生了变动,那么这时候的加载速度就会很慢.
[此贴子已经被作者于2009-6-12 14:32:53编辑过]

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


加好友 发短信
等级:幼狐 帖子:147 积分:947 威望:0 精华:0 注册:2009/5/12 9:43:00
  发帖心情 Post By:2009/6/12 16:06:00 [只看该作者]

最好是测试一下,给个准确数,才能找到正确的原因。再者,您就没有考虑过您的电脑性能与老六的电脑有没有差距?我估计老六不会这么傻,用两列来和大家比较,至少应该是系统默认的10列,他没有必要特意去删除再测试。

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


加好友 发短信
等级:五尾狐 帖子:1181 积分:8108 威望:0 精华:1 注册:2009/1/17 10:52:00
  发帖心情 Post By:2009/6/12 17:49:00 [只看该作者]

狐爸
ACCESS能不能进行远程连接??

像这样能不能加快文件打开速度

我在项目事件中增加一下条件判断代码,只加载指定列,或满足条件的行??

动态加载,如果主表动太加载了,关联的子表,能不能根据关联的关系也能动态加载呢?

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/6/12 18:03:00 [只看该作者]

1、Access可能不行,至少我没有找到方法
2、对于打开文件的速度没有影响,为啥内部表Load慢,我一时也没有找出原因,需要花点时间分析
3、当然可以定条件的行,至于部分列,当然也可以,但是必须前后一致
4、可以,例如主表加载符合条件的,子表不加载任何数据,只有单击主表某记录的时候,才加载该记录对应的子表数据,我想这个是很容易编码实现的。

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


加好友 发短信
等级:五尾狐 帖子:1181 积分:8108 威望:0 精华:1 注册:2009/1/17 10:52:00
  发帖心情 Post By:2009/6/12 18:12:00 [只看该作者]

Access可能不行远程连接....
又要改数据库了...
3、当然可以定条件的行,至于部分列,当然也可以,但是必须前后一致
加载的时候这个可以就行了.只加载符全条件的行,能少的列就少..
这样加载的时候应该快很多了....

 回到顶部
总数 12 1 2 下一页