日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 芯聞號(hào) > 充電吧
[導(dǎo)讀]1、既然要談到sql,數(shù)據(jù)庫(kù)表是必須的?2、數(shù)據(jù)結(jié)構(gòu)? ?3、獲取某個(gè)節(jié)點(diǎn)的所有子節(jié)點(diǎn)? ? 傳統(tǒng)的寫法(sql2000) 很麻煩,暫且就不寫了? ? 來(lái)看看CTE的寫法CREATE?PROC?sp_

1、既然要談到sql,數(shù)據(jù)庫(kù)表是必須的

?

2、數(shù)據(jù)結(jié)構(gòu)

? ?

3、獲取某個(gè)節(jié)點(diǎn)的所有子節(jié)點(diǎn)

? ? 傳統(tǒng)的寫法(sql2000) 很麻煩,暫且就不寫了

? ? 來(lái)看看CTE的寫法


CREATE?PROC?sp_getTreeById(@TreeId?int)?AS?
BEGIN?
	WITH?cteTree?AS
	??(SELECT?*
	???FROM?TuziTree
	???WHERE?Id?=?@TreeId?--第一個(gè)查詢作為遞歸的基點(diǎn)(錨點(diǎn))
		?UNION?ALL
		?SELECT?TuziTree.*?--第二個(gè)查詢作為遞歸成員,?下屬成員的結(jié)果為空時(shí),此遞歸結(jié)束。
		?FROM?cteTree
		?INNER?JOIN?TuziTree?ON?cteTree.Id?=?TuziTree.ParentId
	??)?SELECT?*?FROM?cteTree?
END

試一下啊 ?


?exec??sp_getTreeById??@TreeId=1001                          

結(jié)果

-----------------------------------------------

4、使用節(jié)點(diǎn)路徑來(lái)做(每個(gè)節(jié)點(diǎn)路徑都保存自身的路徑和所有父節(jié)點(diǎn)的路徑=自己和所有父節(jié)點(diǎn)的關(guān)聯(lián))

? ?

5、既然有個(gè)路徑

? 那么查詢其所有子節(jié)點(diǎn) 只需要 where nodePath like '/1001/%'了

? 這樣就會(huì)簡(jiǎn)單很多,加上索引。

總結(jié):

??如果在性能的需要上,我們可以采用按需加載,點(diǎn)擊節(jié)點(diǎn)時(shí)候 才會(huì)加載其所有子節(jié)點(diǎn)。

? 如果在變化不大的情況下,可以采用緩存?。這樣的處理 可以滿足很多業(yè)務(wù)需求。

? 良好的表設(shè)計(jì)會(huì)給后期的開(kāi)發(fā)以及需求變化 帶來(lái)更多的便利。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉