我有一个带有parentId 的团队表/实体,它是一个自我加入到同一个表中的id。
有一个名为 TopUnit 的属性,它将递归地继续调用 .Parent,直到在 Team 实体上找到名为“IsTopUnit”的属性
使用 nhibernate profiler 现在会导致 Select N + 1 警报。无论如何,有没有办法优化本质上是递归自连接查询以避免 Select N + 1 行为。
batchsize 似乎适用于子集合,但在这种情况下似乎没有帮助,因为它是“同步的”,因为我无法执行递归 SQL 语句。
我想这个问题在休眠状态之外也有效。在 SQL 中执行递归语句的最佳方法是什么?看来您必须将其分解为多个查询。
你可以试试这个http://ayende.com/Blog/archive/2009/08/28/nhibernate-tips-amp-tricks-efficiently-selecting-a-tree.aspx http://ayende.com/Blog/archive/2009/08/28/nhibernate-tips-amp-tricks-efficiently-selecting-a-tree.aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)