私は次のテーブル構造を持っています、
Create Table Nodes
(
NodeID int,
ParentNodeID int, // null if root node
NodeText nvarchar(100),
NodeCost int
)
今、私は一種の複雑なことをする必要があります。この表からベスト パス (コストが最も高いパス) のコストを見つけます。
2 つの方法がありますが、どちらを使用するかはわかりません。
- ボトムアップ検索:それを選択した場合
isLeaf
、テーブルに列を追加し、ジョブを実行する CTE を使用する必要があります。 - トップダウン検索:フィールドは必要ありません
isLeaf
が、ジョブを実行する SQL ステートメントを思い付くのは困難です。
与えられた2つの代替方法の長所と短所は何ですか? パフォーマンスなどの点でどちらがより良い方法ですか?