数据库用的是SQL Server2008R2,表的数据量是百万级的,有两到三个表联合查询,现在用EF分组按页获取数据时很慢,请教高效的解决方案。
在百万级数据量下分组查询大家一般是怎么处理的,能分享下吗?
一般如果很大表,会先做一下汇总,因为人不大可能真的想一次性要数百万条数据去看,而多是想从这数百万数据里得出一些汇总信息,所以一般都是直接让程序做汇总,把汇总结果给使用者。
汇总是可以在不繁忙时做的,而且可以分次做,比如每天只做一次,然后每次查询都查询汇总结果,就不会对数据库造成太大压力了,而汇总过程慢一点也没有关系
嗯,谢谢,估计大多数都是用空间换时间
建议根据EF生成的SQL查看一下执行计划,看索引有没有问题。
哈哈,不要再考虑了,把分给我吧,海量数据除了II倒排索引比如像lucene怎么搞的出来。
大数据量的话可以有以下方法:
1、数据库分表
2、数据库分区
3、是用缓存
4、用lucene处理
5、分时处理
不关EF什么事情,当然这是基本的处理方法,高级的处理方法就复杂点,不过百万级的数据,上面那些方法就够了