都显示不太可能,只能分步取,象google一样

解决方案 »

  1.   

    分两步来
    1.你先看这300w记录服务器上面怎么取出来.在3秒钟能不能select出来?
    2.300w记录,3秒.就是说1M记录/秒,每条记录计算是50字节,那么就网络带宽(客户端)就需要用1G的网络.
      

  2.   

    1、大概分析一下,一条数据的字节数,设为A。
       建议算法:用要显示的字段定义时的长度。2、用上面的字节数*300W,得出这些数据的大概大小。
       假设一条数据的字节数为50,则 50*300W=15000W b。
       约为为146485K~143M,再除以3S,约为50M/S。我刚刚去网络部咨询了一下,在一个局域网内,即使是普通的PC机或是NoteBook,100M带宽的数据传输利用率最高能够达到70%,也就是70M。因此,如果光从数据传输的角度去分析的话,还是可行的。再从数据查询的角度来分析,143M的数据,如果数据库结构良好,索引全部最优化的话,估计可以在1S左右的情况下查询出来。(这儿只是估计,我记得之前有看过索引优化的一篇分析文章,好像是可以的,别用砖头拍我)
    那剩下的2S,用来将数据传输到客户端,70M/S的速度,应该能够达到!也就是说,理论上应该是可以实现的。
    觉得楼主应该静下心来去研究,不能带有情绪,认为一定实现不了。(这样肯定就实现不了了)个人意见,仅供参考。
      

  3.   

    补充一点,由于考虑到要显示在页面上,因此可能还要一段时间(这个我就没有研究过了),这部分时间也要考虑的。楼主不仿先在Server上直接查询,尽量提高查询的速度,看能不能压缩到1S内查出所有数据。
      

  4.   

    lzhs(快乐至上) ,你自己有没有查询过上百万的数据啊?稍微复杂一点点的表,上百万数据全部查询出来就需要好几秒了。
    注意,是全部查出来,也就是说简单的select * from table。
    优化时只能使用聚集索引扫描,再多的索引也没用。让公司去想办法,和客户沟通一下。
    他应该是概念上发生了错误,不是显示全部数据,而是在上千万的数据中分页显示数据。3秒显示一页,还是完全可能的。
      

  5.   

    谢谢lzhs(快乐至上),把我说的话又解释了一遍..^^服务器上怎么实现在规定的时间内检索到记录,因为lz没有说具体情况,我就不乱假设了. 网络的问题,已经说过了. 我还有个问题是客户端,你用什么来显示? 我不知道有哪个控件可以支持在这么短的时间里装载这么大的数据量? lz还是和客户详细确认一下需求吧.
      

  6.   

    再申明一下,那个客户要求查询的是时段进销存台帐,每条纪录有48个字段,其中字符型6个,数值型numeric(18,6)42个,没有空值的,烦请楼上再帮我算下要多长时间能出来?
      

  7.   

    不用算了,估计32CPU+双工SCSI+4G DDR+1G光纤的配置才可以考虑下。。
      

  8.   

    呵呵,什么世界呀,对这种乱来的客房,采用楼上QSHENG(Q圣)的方法对付他