Nul*_*nce 3 .net entity entity-framework join foreign-key-relationship
我想知道,在使用实体框架时,哪一个会产生更好的性能?
我已经读过,如果你的entites之间有外来关系,那么最好使用include over join.
如果我只是从2个不同的entites(具有外键关系)检索1行,那么如果我使用include over join会有什么不同吗?
我正在取回的记录数量是否会影响join和include之间的性能?
我强烈建议你做一些分析.
有时候,热切的loading(.Include)是好的,有时候不是;-)只需查看一下在探查器中生成的T-SQL,你就会明白为什么!看看执行计划.
尝试.Include查询中的一对多关系,并查看将检索的数据量:数据将乘以所有包含的表中的行数.可能会在线路上拉出大量重复数据,从而导致高带宽消耗和性能问题.
请记住,有时甚至可以更好地对相关数据执行简单快速的单独查询(无需延迟加载).查询可能更有效,让我们说Customers,然后Orders单独查询,让EF自动加入它们.
根据我自己的经验,有一个强大的DBA团队查看EF生成的所有查询,我建议开发人员不再使用.Include;-)
| 归档时间: |
|
| 查看次数: |
5574 次 |
| 最近记录: |