gpt4 book ai didi

hibernate - NHibernate 和批量大小

转载 作者:行者123 更新时间:2023-12-03 08:15:54 25 4
gpt4 key购买 nike

想问问大家一般怎么用batch-size映射中。您通常会在任何映射集合上设置某个数字吗?当然,我确实知道其他获取策略,例如 join fetch ,但有时我必须在后期处理期间进行过滤,这可能会触发很多延迟加载。我想知道我是否设置了批量大小,例如到 100,在这种情况下我的性能要好得多。

您是否通常在任何映射集合上设置此属性? 如果没有,为什么不呢?会不会有什么坏处?

最佳答案

设置 batch-size在集合或父实体上几乎会做同样的事情。

什么 batch-size真正做的是走SELECT N+1问题并将其变成 SELECT N/batch-size + 1健康)状况。

有一个缺点,那就是您需要平衡设置正确数字之间的差异。如果你把batch-size 设置得太大,你会加载太多的数据,如果你把它设置得太小,你仍然会有太多的查询。您如何平衡这一点尚有争议,如果不设置测试,则无法衡量。

我认为这是一种微优化,很重要,因为它可以真正减少 select/n+1 问题。然而,它确实没有为每个场景独立选择正确的获取策略那么重要,这使得整体策略更好。

我也认为这是一个生产问题,应该针对真实用户和真实数据进行测试。

作为旁注,我总是设置我的 batch-size要等于我的分页大小,不要问我为什么感觉刚刚好!

关于hibernate - NHibernate 和批量大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10330948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com