有人知道查询与实体框架之间是否存在速度差异而不是SQL普通应用程序?使用实体框架,我们必须手动处理表格之间的连接,在我看来,这似乎是一个相当复杂的查询。
鉴于客户在州/省,订单,性别,评论,收藏产品等方面有许多加入,假设有15个关系。执行一个显示信息的简单“视图”页面大约需要3到4秒。对我和我的老板(呵呵)来说,肯定需要很长时间才能 TOO 。
如果我在普通的SQL中编写它,它会更快地运行吗?
答案 0 :(得分:1)
最好使用分析器来确定瓶颈在哪里。请记住,在大多数情况下足够快=足够好。如果在给出查询的上下文的情况下可以接受3或4秒,那么请保持足够好。
过早优化是能量的腰部。 - 深思熟虑。
答案 1 :(得分:1)
您的查询中的联接数表明它们可以编写得更简单。无论是通过实体框架运行还是使用SQL数据读取器,具有此多个连接的查询都将运行缓慢。
答案 2 :(得分:-2)
我们已经发现,当您在上下文中使用LINQ创建查询时,手动loadProperty而不是使用.Include执行它会更快。现在,即使是一个拥有17个关系的大型实体,我们所有的请求也只需不到2次。
我们还发现,对于小实体,.Include和LoadProperty之间没有显着差异,但是当你带有超过10-12关系的实体时,它会有点棘手。
坦克回答和......嘿,对不起我的英语!我正在尽我所能!