我已经继承了一些C#/ ASP.NET MVC /实体框架项目缓慢。数据库中没有太多数据,但致电.Include()
导致速度变慢。实体框架+ LINQ缓慢与字符串查询速度?
但是,我发现了一些很奇怪的东西。我有一个只有数字(5列)的2k行表。我在我正在搜索的列上有索引。
在做:
_entities.MyTable.Where(x=> x.Id1 == 4 && x.Id2 == 5).First()
它需要我的开发机器上1800ms。
然而,当我这样做:
_entities.MyTable.Where("it.Id1 = 4 and it.Id2 = 5").First()
它需要像10毫秒。
这是怎么回事?我不明白为什么LINQ表达式会这么慢。
尝试在LinqPad中解开它,并将其生成的SQL查询与您自己的 – Tigran 2012-04-06 07:04:30
进行比较是否在任何实体中继承MyTable? – daryal 2012-04-06 07:23:19
@daryal对不起,在EF的情况下,我仍然是一个小菜鸟,那会是什么样子?这个对象/模型与其他对象有关。表中的数字是其他表的外键。 – 2012-04-06 07:25:34