浏览 8234 次
锁定老帖子 主题:问题,再论分页(特殊需求)
该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2003-10-22
我希望有没有什么工具能够在第一次取出的时候就在list的时候每取100个flush到硬盘上缓冲,并且请空list,这样第一次慢一点,以后就快了. 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2003-10-22
It will be slower than the method of selecting from db directly, because db supply "memory" data buffers while you read data from hardisk.
Sorry for typing english because of no chinese input software. |
|
返回顶楼 | |
发表时间:2003-10-22
是这样的,我们的数据库服务器和App服务器物理上是分离的,现在的情况时数据库服务器cpu使用率经常在100%(DB2)DB2中的AGENT经常被用光 ,所以所以要为数据库服务器减轻负荷,而我们的APP服务器很空,CPU USAGE20%,所以想到了这个方法不知道斑竹有什么好的建议。(B/S结构而且同时使用的客户很多,而且还有几百个手持终端,他们是直接访问数据库的,所以数据库不堪重负)
|
|
返回顶楼 | |
发表时间:2003-10-22
It is useless. just tune your DB2.
|
|
返回顶楼 | |
发表时间:2003-10-22
我说的溢出是指APP SERVER上的内存不够,我们是个仓库系统,作业的高峰期都几乎在同一时间,而且20几个仓库分布在各地,由于需要,要连接6 -7张表,选出80几个字段有些表现在已经有500万条记录,数据库服务器,光处理手持中端的连接就100个(平均数)所以我想尽量减少对数据库的访问,但也要兼顾到速度,大家有什么好的建议。
引用 PIMP:Component WHAT DO U MEAN?
|
|
返回顶楼 | |
发表时间:2003-10-23
既然APP Server 内存溢出,就更应该先查询出ID,然后根据要显示页面的记录的ID去get detail data,这样虽然每次翻页都要连两次数据库,但APP Server跟DB Server的负荷都是最小的;如果像你那样缓存第一次查询结果,即不考虑数据的实时性,也可以第一次查询ID并缓存,之后每次翻页只要连接一次数据库即可。
APP Server缓存所有查询记录是不可行的,即使保存到硬盘上也一样,因为Disk IO读写比读取数据库还要慢。你这个问题还是该像Robbin所说tune db2,至少调整一下那些手持终端,总不能几百个终端都直接连接db吧。 |
|
返回顶楼 | |