亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Mysql查詢語句如何實現(xiàn)無限層次父子關系查詢

瀏覽:5日期:2023-06-23 19:40:37
目錄一、前言二、相關語法函數(shù)介紹三、具體實現(xiàn)查詢父級為 2 的下級 無限級查詢四、效率問題EXPLAN 相關參數(shù)總結(jié)一、前言

單表存儲上下級關系,使用mysql 內(nèi)置函數(shù)循環(huán)遞歸查出來

二、相關語法函數(shù)介紹@

@是用戶變量,@@是系統(tǒng)變量。

:=

不只在set和update時時賦值的作用,在select也是賦值的作用。

group_concat()

將group by產(chǎn)生的同一個分組中的值連接起來,返回一個字符串結(jié)果。

FIND_IN_SET()

查詢字段(strlist)中包含(str)的結(jié)果,返回結(jié)果為null或記錄

三、具體實現(xiàn)

創(chuàng)建表

查詢父級為 2 的下級 無限級查詢SELECT@ids AS _ids,( SELECT @ids := GROUP_CONCAT( descendant ) FROM relation WHERE FIND_IN_SET( ancestor, @ids ) ) AS cids,@l := @l + 1 AS LEVEL FROMrelation,( SELECT @ids := 2, @l := 0 ) b WHERE@ids IS NOT NULL

列表化

SELECTdescendant.LEVEL,DATA.* FROM(SELECT@ids AS _ids,( SELECT @ids := GROUP_CONCAT( descendant ) FROM relation WHERE FIND_IN_SET( ancestor, @ids ) ) AS cids,@l := @l + 1 AS LEVEL FROMrelation,( SELECT @ids := 2, @l := 0 ) b WHERE@ids IS NOT NULL ) descendant,sys_dept_relation DATA WHEREFIND_IN_SET( DATA.descendant, descendant._ids ) ORDER BYLEVEL,DATA.descendant

查詢ID為 8 的上級 無限級查詢SELECT@id AS _id,( SELECT @id := ancestor FROM relation WHERE descendant = @id ) AS _pid,@l := @l + 1 AS LEVEL FROMrelation,( SELECT @id := 8, @l := 0 ) b WHERE@id > 0

四、效率問題

我目前測試表有8千多數(shù)據(jù)量

EXPLAN 相關參數(shù)

Select_type:

PRIMARY:查詢中最外層的SELECT(如兩表做UNION或者存在子查詢的外層的表操作為PRIMARY,內(nèi)層的操作為UNION)DERIVED:被驅(qū)動的SELECT子查詢(子查詢位于FROM子句)UNCACHEABLE SUBQUERY:一個子查詢的結(jié)果不能被緩存,必須重新評估外鏈接的第一行

Type:

NULL: MySQL在優(yōu)化過程中分解語句,執(zhí)行時甚至不用訪問表或索引,例如從一個索引列里選取最小值可以通過單獨索引查找完成。index: Full Index Scan,index與ALL區(qū)別為index類型只遍歷索引樹System:system是const類型的特例,當查詢的表只有一行的情況下,使用system總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

相關文章:
主站蜘蛛池模板: 福利在线观看视频 | 人人爽久久涩噜噜噜蜜桃 | 亚洲国产精品网 | 91黄色片| 在线免费观看国产精品 | 欧美成人aaa大片 | 自拍视频网址 | 国内成人啪啪网站 | 亚洲永久精品免费www52zcm男男 | 日韩国产成人精品视频人 | 欧美日韩在线视频观看 | 一级做a爰片欧美aaaa | 中国一级特黄真人毛片免费看 | 特黄特黄一级高清免费大片 | 久久精品国产亚洲香蕉 | 国产亚洲精品第一区在线观看 | 天天色综合影视 | 成人欧美精品久久久久影院 | 国产精品在线观看 | 污污网站免费入口链接 | 国产美女视频一区二区二三区 | 久在线视频 | 91精品日本久久久久久牛牛 | 国产在线精品一区二区高清不卡 | 亚洲综合套图 | 久草在线中文888 | 亚洲精品美女久久久 | 台湾一级毛片永久免费 | 国产精品亚洲欧美大片在线看 | 一区二区三区免费视频网站 | 精品欧美一区二区三区免费观看 | 精品视频在线观看 | 日本在线黄色 | 欧美一级毛片片免费 | 9966国产精品视频 | 国产网站大全 | 亚洲an日韩专区在线 | 欧美一级特黄毛片免费 | 新久草在线| 成年女人毛片免费视频 | 香蕉视频国产精品 |