[英]How to get optimal performance with recursive self join SQL using nhibernate
我有一個帶有parentId的團隊表/實體,該ID是自我加入同一表的ID。
有一個名為TopUnit的屬性,它將遞歸地繼續調用.Parent,直到在Team實體上找到一個名為“ IsTopUnit”的屬性為止
使用nhibernate探查器,這現在會引起Select N + 1警報。 無論如何,有什么方法可以優化本質上是遞歸大小的自聯接查詢,從而避免Select N +1行為。
batchsize似乎適用於子集合,但在這種情況下似乎沒有幫助,因為它全部“同步”,因為我無法執行recursize SQL語句。
我想這個問題在nhibernate之外也是有效的。 在SQL中執行遞歸語句的最佳方法是什么。 似乎您必須將其分解為多個查詢。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.