sql – 懒惰装载真的不好吗?

前端之家收集整理的这篇文章主要介绍了sql – 懒惰装载真的不好吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我听到很多关于延迟加载的性能问题,无论在NHibernate,Linq ….

问题是N 1选择.例如,我想要所有帖子及其用户,在foreach我懒惰加载用户,他们我需要一个选择的帖子,加上每个用户的N选择.

懒惰载入中:

1 – 从发帖中选择….
N – 从用户选择….

“好”的做法是加入:

1 – 从post后连接用户的post.UserId = user.Id中选择…..

但是看到EF生成sql,我意识到很多数据是浪费的.想像一下,所有帖子都是同一个用户. Inner Join将为每个帖子行带来所有用户列.

在表演中,哪种方式最好?

解决方法

懒惰加载既不好也不坏.看到这个更长的解释:

When should one avoid using NHibernate’s lazy-loading feature?

一般来说,延迟加载是ORM的一个很好的默认行为,但作为一个ORM用户,您需要意识到何时重写默认值并加载数据.分析应用程序的性能是决定使用延迟加载或不使用它的最佳方式.谨防过早优化花费太多精力.

原文链接:https://www.f2er.com/mssql/76223.html

猜你在找的MsSQL相关文章