关于SQL递归优化
做树关系存储的时候,为了⽅⾯⼀般只存储每个节点对应的⽗节点ID,例如:id,parentid。但这样要查询某⼀节点的所有⼦节点的时候就⽐较⿇烦,最常⽤的⽅法就是递归。
下⾯的sql语句就是基于递归的sql查询⽅法,with as在递归⽅⾯微软做了优化,代码如下:
Code
declare@patid int set@patid=0---已知⽗节点ID
; ----必须
with temp (id ,parentid)
as
sql语句优化方式
(
select listid,parentid from TB_list where parentid =@patid
union all
select b.listid,b.parentid
from temp A ,TB_list B where b.parentid = a.id
)
select id,parentid
from temp
当然,with as 还有好多⽤法,具体可以⾃⼰研究⼀下

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。