Foxtable(狐表)用户栏目专家坐堂 → 再提“大容量数据”的问题


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

主题:再提“大容量数据”的问题

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


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
再提“大容量数据”的问题  发帖心情 Post By:2009/11/12 9:36:00 [显示全部帖子]

    昨天去给客户搞了大半天的数据迁移,老数据都已经移植到新库中了。其中,基础数据表的记录已经达到近150万条。
    现场用后台分组或交叉统计给客户测试了一下,瞬间即可得到结果,客户非常满意;加上随手即得的图表,统计这块没的说了!
    但是,在查询明细数据时,有个问题:只要数据超过8-10万条,系统性能就会急剧下降。关于这一点,我也早就预料到了,毕竟占用内存太大了嘛。因此,我在项目中专门设了个“关闭查询表”按钮,用于将窗口中的table重新fill成空记录。但是,尽管如此,项目操作还是很“卡”。
    刚才我一直想在这块进行改进,还发现:如果在窗口的table中加载过10万条以上的记录,再打开该窗口进行设计时,写代码都开始“卡”了。按说,该窗口重新打开后,原来的table已经自动销毁了,为什么还会这样呢?
    请老六考虑个办法,看看怎样才能彻底“关闭表”、以提高项目运行效率。
    还有就是,加载大容量数据时,等待时间太长,这点能否也考虑改进一下。我之前建议过“分页”方式,如果此方法不可行,能否借鉴一下BDB的做法。这个软件最初采取的就是一次全部加载方式,打开超大表时简直无法忍受;改进以后,就能马上看到数据、同时也有加载进度提示了,界面很友好。这是下载地址,请参考一下:http://www.bainsoft.com
    如果这个问题能解决,大家再测试我那个远程数据库时,查询过程就不会再有漫长的等待了。

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


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2009/11/12 9:47:00 [显示全部帖子]

以下是引用狐狸爸爸在2009-11-12 9:40:00的发言:
1、没必要加载10万行的
2、.net都是延迟销毁的
3、可以自己设计分页的:

http://www.foxtable.com/dispbbs.asp?boardid=2&Id=4949

在这个帖子的8楼
[此贴子已经被作者于2009-11-12 9:42:21编辑过]

呵呵,已经看了,那个代码很好,正在研究。
但客户有时是需要查询这么多数据的。


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


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2009/11/12 9:49:00 [显示全部帖子]

还是建议老六能参考一下bdb的数据加载方式,取人之长可以让foxtable更完美,呵呵。

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


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2009/11/12 12:26:00 [显示全部帖子]

以下是引用yangming在2009-11-12 12:18:00的发言:

同感,如果一年的数据量还很大,那就改成半年一个数据表,并按月份或季度做成统计表

呵呵,没有必要的,sql数据库上千万条数据都没问题。
客户查询明细数据,出个几万条很正常。正在研究分页,这个问题也会解决的。


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


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2009/11/12 12:30:00 [显示全部帖子]

以下是引用hnaysx在2009-11-12 12:24:00的发言:

提议:是否可以边加载边显示,比如加载了1万行就先显示1万行,然后继续在显示的过程中继续加载,继续显示。

bdb就是这么处理的。不知老六会否参考一下这样的做法。
bdb是个很棒的数据库管理工具,在没用foxtable之前,我都是用它管理数据库的。虽然网站是英文的,但软件是中文的。您可以下载一个试用看看。
非常希望老六能参考一下。

[此贴子已经被作者于2009-11-12 12:31:51编辑过]

 回到顶部