首页 新闻 会员 周边

请教EF中大数据量分组查询效率问题

0
悬赏园豆:100 [已解决问题] 解决于 2012-02-16 14:15

数据库用的是SQL Server2008R2,表的数据量是百万级的,有两到三个表联合查询,现在用EF分组按页获取数据时很慢,请教高效的解决方案。

在百万级数据量下分组查询大家一般是怎么处理的,能分享下吗?

artwl的主页 artwl | 专家六级 | 园豆:16736
提问于:2012-02-06 10:21
< >
分享
最佳答案
0

一般如果很大表,会先做一下汇总,因为人不大可能真的想一次性要数百万条数据去看,而多是想从这数百万数据里得出一些汇总信息,所以一般都是直接让程序做汇总,把汇总结果给使用者。

汇总是可以在不繁忙时做的,而且可以分次做,比如每天只做一次,然后每次查询都查询汇总结果,就不会对数据库造成太大压力了,而汇总过程慢一点也没有关系 

收获园豆:40
丁学 | 专家六级 |园豆:18730 | 2012-02-06 11:01

嗯,谢谢,估计大多数都是用空间换时间

artwl | 园豆:16736 (专家六级) | 2012-02-06 11:15
其他回答(3)
0

建议根据EF生成的SQL查看一下执行计划,看索引有没有问题。

收获园豆:20
dudu | 园豆:30994 (高人七级) | 2012-02-06 11:17
2

哈哈,不要再考虑了,把分给我吧,海量数据除了II倒排索引比如像lucene怎么搞的出来。

收获园豆:20
today4king | 园豆:3499 (老鸟四级) | 2012-02-06 11:36
0

大数据量的话可以有以下方法:

1、数据库分表

2、数据库分区

3、是用缓存

4、用lucene处理

5、分时处理

不关EF什么事情,当然这是基本的处理方法,高级的处理方法就复杂点,不过百万级的数据,上面那些方法就够了

收获园豆:20
az235 | 园豆:8483 (大侠五级) | 2012-02-06 12:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册