簡體   English   中英

如何使用Nhibernate通過遞歸自聯接SQL獲得最佳性能

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM