我们有大量的相关表,每个表有超过3500万个相关记录。我需要创建几个WCF方法,这些方法将使用一些参数(数据范围,类型代码等)查询数据库,并返回相关的结果集(从10到10,000条记录)。
该公司在EF 4.0上进行了标准化,但对4.X开放。我也许可以说服自己移植到5.0,但可能性很小。
使用Entity处理如此大量的记录的最佳方法是什么?我应该创建一组存储的proc并从Entity中调用它们,还是可以在Entity中执行某些操作?
我对数据库没有任何控制权,因此无法拆分表或创建某些物化 View 或分区表。
任何输入/想法/建议,我们将不胜感激。
最佳答案
在我的工作中,我遇到了类似的情况。我们有一个包含许多表的数据库,其中大多数表包含大约7到1千万条记录。我们使用 Entity Framework 来显示数据,但是页面似乎显示得非常慢(例如90到100秒)。甚至在网格上进行排序也需要时间。我得到了一项任务,看是否可以对其进行优化。并且在对它进行分析之后(ANTS profiler),我能够对其进行优化(不到7秒)。
所以答案是是的,Entity Framework可以处理记录负载(以百万计),但是必须格外小心
如果您牢记这些内容,那么EF应该会提供与普通ADO.NET几乎相同的性能(如果不同的话)。
关于entity-framework-4 - 实体,处理大量记录(> 3,500万),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14205033/