我正在使用 nhibernate profiler 并看到它在一些地方给我一个“Select n + 1”警告。
明显的解决方法是进行一些预先的热切连接,但这让我思考,在某些情况下,与可能会加载大量您从未实际使用的数据的连接相比,使用 Select N + 1 是否实际上更简单或更快。
你的想法是正确的。例如,在某些情况下,所有根实体都引用另一个实体的一个或两个实例。进行 2 或 3 个小选择而不是非规范化选择(即使用连接)可能会更快
有一种方法可以使几乎所有情况下都变得方便:batch-size
。如果您在实体和集合中将此属性设置为通常的页面大小,您将获得恒定数量的小选择(每个实体类型一个)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)