日期:2014-05-17  浏览次数:20512 次

关于返回海量信息的查询处理问题
使用的是SQLServer数据库,客户端使用MFC写,由于数据库的信息非常大,几千万到几十亿的信息,所以进行查询的时候得到结果的记录集可能也会非常大几千万或上亿,结果都是要传到客户端显示的(一次不用显示这么多,可能分批显示)。这种情况怎么处理啊?分批查询?还是怎么滴。。查询得到的结果还要进行其他的运算(求平均、求和、绘图等等)。有啥技术

------解决方案--------------------
那就分页显示了,程序界面的时候分页,把页码作为参数给入到数据库,返回相应的数据行.

但是不知道你的绘图是根据全部数据还是怎么弄.因为分页显示通常就是几十行,这个时候根据返回的数据做的绘图相比你所选取的数据,基本没有代表性.
------解决方案--------------------
1、分区表,
2、索引优化,
3、另建一个表,专门放置统计信息,每天定时统计,
4、把数据全部读到内存中,这个对硬件要求比较高。
------解决方案--------------------
如果是分页的话,可以参考下 http://qianzhang.blog.51cto.com/317608/1209047

可是真的要在页面上加载这么大的表吗?就算给你加载出来了,确定每一页都要看吗?
说实话,给使用者若干数据,不如给他一个结果~