+ -
当前位置:首页 → 问答吧 → 无力了,求教一个AJAX读取显示大数据量的问题

无力了,求教一个AJAX读取显示大数据量的问题

时间:2010-12-08

来源:互联网

各位同仁好:
  手头做的这个工程,是基于一个server开发的web项目,也就是用server提供的接口,写一套供用户在网络上可以查询数据的系统。其中有一个功能,允许用户选择一些客户和数据项,指定时间范围,查询出对应数据,现在由于查询出的数据太多了,页面显示不堪重负,五六千条就会挂住。
  可能有的朋友会说:这个简单啊,分页嘛。如果是这么简单就好了。
  首先我是不直接接触数据库的,只能调用server给的api来查询数据,server的接口呢就是对客户model做循环,按照时间范围,把数据查询出来。
  其次,就算我直接接触数据库了,那个查询也是很复杂的,由于每个客户的数据项可能不同,现在的数据库结构就是每个客户对应一张到多张数据表格,假设我要查四个客户的数据,我得先去查找到这四个客户下的所有表格,然后按照数据项查找出指定时间范围内的数据,并且要剔除重复数据,最后对数据进行合并。所以什么先查找数据的数目,再进行分页,也是很困难的。
  有人给我的建议是用ajax来做,对客户model循环这里下手,在页面上做定时器,每个客户的数据当做一个小collection,在页面上逐步显示,减轻tomcat和浏览器的压力。
  请问这种方法可行吗?我对ajax只是用过,远远谈不上熟练,在网上找了找例子,不是分页显示就是一次性显示,基本上没有这种“逐步合并式”显示,有人能指点一下写法吗?

作者: little_fairycat   发布时间: 2010-12-08

不直接接触数据库的,那就让server那边接触的给你弄个有分页的代码,你只管调用就行,管他神马客户表。

就算lz直接接触数据库了,Ajax先不管,你就要在server上弄出分页代码来。

然后,楼主在这边就读取了,自动每5分钟取一次余下滴,取完为止,逐步显示当然可行得紧。

回过头来问下,某些用户一下子要五六千条甚至更多的记录做甚?打印?对比?统计?
楼主不妨追问下,免得以后改来改去,吃力不讨好。

作者: yhtapmys   发布时间: 2010-12-08

感谢二楼的回复,五六千条还不满足哩,经理说,既然C/S结构那边能出一两万条,这边也要能出,我实在是感觉很无力了。而且还很说:既然C/S那边出数据这么轻松,为什么你的tomcat会挂掉。我@#$%^&*。
要做到:不管客户查多少数据,都得给我出出来。
我真想骂娘。

作者: little_fairycat   发布时间: 2010-12-08

让server那边给我出分页是不可能的,就算要弄也是我自己写(这算什么事啊)。那个逻辑又爆复杂,是每个客户下可以定义多个任务,每个任务定义时动态生成一张数据表,任务里的数据项可能是重复的,也就是说数据可能被重复记录。
这个逻辑复杂的要死,光封装好的查询代码就要写一两千行,还不算上底层的DAO

作者: little_fairycat   发布时间: 2010-12-08

对方提供的接口,是根据时间查。

你可以把用户输入的时间,分成n段来请求撒!

页面显示每个小时间段的导航撒

作者: hch126163   发布时间: 2010-12-08

继续求教,有没有页面ajax逐步添加数据的例子,什么框架都成,我学习下,然后看看能不能结合到我的工程里。之前有朋友给了我一个buffalo 的例子,但是是一下子把数据全取出来,只不过页面无刷新,我想改成循环式取数据,但是对ajax不怎么会用,不知道怎么改呢。

作者: little_fairycat   发布时间: 2010-12-08

引用 4 楼 hch126163 的回复:
对方提供的接口,是根据时间查。

你可以把用户输入的时间,分成n段来请求撒!

页面显示每个小时间段的导航撒


只要是能做成逐步刷新出数据来,对model分解还是对时间段分解是无所谓的,我现在就是不知道怎么做,对ajax不怎么懂。

作者: little_fairycat   发布时间: 2010-12-08

热门下载

更多