【问题标题】:How to get optimal performance with recursive self join SQL using nhibernate如何使用 nhibernate 通过递归自联接 SQL 获得最佳性能
【发布时间】:2011-01-04 15:31:12
【问题描述】:

我有一个带有 parentId 的 Team 表/实体,它是一个自加入同一个表的 id。

有一个名为 TopUnit 的属性将递归地继续调用 .Parent 直到它在 Team 实体上找到一个名为“IsTopUnit”的属性

现在使用 nhibernate 分析器会导致 Select N + 1 警报。有没有办法优化本质上是递归自连接查询以避免 Select N + 1 行为。

batchsize 似乎适用于子集合,但在这种情况下似乎无济于事,因为它完全是“同步的”,因为我无法执行递归 SQL 语句。

我猜这个问题在 nhibernate 之外也是有效的。在 SQL 中执行递归语句的最佳方法是什么。看来您必须将其分解为多个查询。

【问题讨论】:

标签: c# sql-server nhibernate


【解决方案1】:
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-14
  • 2016-03-20
  • 1970-01-01
相关资源
最近更新 更多