我正在寻找某种从如下定义的树表中提取数据的方法。
表树定义为:- 
TreeID uniqueidentifier 
TreeParent uniqueidentifier 
TreeCode varchar(50) 
TreeDesc varchar(100)  
一些数据(23k 行),Parent Refs 回到表中的 ID
以下 SQL 呈现整个树(大约需要 2 分钟 30 分钟)
我需要执行以下操作。
1) 使用其 LVL 1 父级渲染每个树节点
2) 渲染所有具有与 TreeDesc 匹配的描述的节点,例如“SomeText%” 
3) 渲染所有用于单个树 id 的父节点。  
第 2 项和第 3 项需要 2 分钟 30 分钟,所以这需要更快!
第 1 项,只是不知道如何在不杀死 SQL 或永远占用的情况下做到这一点
任何建议都会有所帮助
谢谢
朱利安
WITH TreeCTE(TreeCode, TreeDesc, depth, TreeParent, TreeID)
AS
(
  -- anchor member
  SELECT cast('' as varchar(50)) as TreeCode , 
   cast('Trees'  as varchar(100)) as TreeDesc, 
   cast('0' as Integer) as depth, 
   cast('00000000-0000-0000-0000-000000000000' as uniqueidentifier) as TreeParent, 
   cast('00000000-0000-0000-0000-000000000000' as uniqueidentifier) as TreeID
  UNION ALL
  -- recursive member
  SELECT s.TreeCode, 
   s.TreeDesc, 
   cte.depth+1, 
   isnull(s.TreeParent, cast('00000000-0000-0000-0000-000000000000' as uniqueidentifier)), 
   isnull(s.TreeID, cast('00000000-0000-0000-0000-000000000000' as uniqueidentifier)) 
  FROM pdTrees AS S
    JOIN TreeCTE AS cte
      ON isnull(s.TreeParent, cast('00000000-0000-0000-0000-000000000000' as uniqueidentifier)) = isnull( cte.TreeID , cast('00000000-0000-0000-0000-000000000000' as uniqueidentifier))
)
-- outer query
SELECT
s.TreeID, s.TreeCode, s.TreeDesc, s.depth, s.TreeParent    
FROM TreeCTE s