sql – 懒惰装载真的不好吗?
发布时间:2020-12-12 08:22:38 所属栏目:MsSql教程 来源:网络整理
导读:我听到很多关于延迟加载的性能问题,无论在NHibernate,Linq …. 问题是N 1选择.例如,我想要所有帖子及其用户,在foreach我懒惰加载用户,他们我需要一个选择的帖子,加上每个用户的N选择. 懒惰载入中: 1 – 从发帖中选择…. N – 从用户选择…. “好”的做法是加
我听到很多关于延迟加载的性能问题,无论在NHibernate,Linq ….
问题是N 1选择.例如,我想要所有帖子及其用户,在foreach我懒惰加载用户,他们我需要一个选择的帖子,加上每个用户的N选择. 懒惰载入中: 1 – 从发帖中选择…. “好”的做法是加入: 1 – 从post后连接用户的post.UserId = user.Id中选择….. 但是看到EF生成的SQL,我意识到很多数据是浪费的.想像一下,所有帖子都是同一个用户. Inner Join将为每个帖子行带来所有用户列. 在表演中,哪种方式最好? 解决方法懒惰加载既不好也不坏.看到这个更长的解释:When should one avoid using NHibernate’s lazy-loading feature? 一般来说,延迟加载是ORM的一个很好的默认行为,但作为一个ORM用户,您需要意识到何时重写默认值并加载数据.分析应用程序的性能是决定使用延迟加载或不使用它的最佳方式.谨防过早优化花费太多精力. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |