最近开始在做一个水晶报表的项目,以前都没做过,有什么说错的地方请大家指教。
最近做了一个水晶报表项目。一开始做出来感觉挺顺利。后来就出麻烦了。当测试到数据量50W以上时就不定时出现内存溢出和数据库超时的错误。而且页面加载时间要2—4分钟才能加载出来(实在是太慢了)。后来最近到网上找了很久都没什么好办法。一把数据库操作时间延长,内存溢出就出个不停。请各位高手指点

解决方案 »

  1.   

    50W做明细显示的话,一次性是不可取的
    你可以每次取一段数据传给水晶报表,比如1000条。
    循环操作
    当然,对用户来说是没有什么感觉的
    毕竟50w条,他一般不会一页页去翻。水晶报表会把数据生成临时文件,比如50w条,可能会生成一个近似于1G的临时文件(物理文件)
    如果是多人操作,那么根本吃不消。
      

  2.   

    如果不是明细显示的话,可以实现聚合好,用中间结果表,或者用SQL均可。Select 字段1,字段2,Sum(值1)...from table group by 字段1,字段2其原则就是传递尽可能少的数据给报表另外,大数据量,不要用PUSH模式,要用PULL模式。