第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

數據庫設計技巧:一個字符串細節(jié)處理解決遞歸查詢問題

標簽:
Java MySQL
问题提出

许多人在做开发时都会遇到这样的case,比如:需要维护一个部门层级结构,每个部门都要存储一个上级部门的id,记做parent_id, 当查询一个部门的所有子部门时,需要根据parent_id递归的查询到底层,层级深的部门需要查询次数特别多,那么问题来了,是否可以通过一个简单的设计满足一次查询某个部门的所有子部门呢?

技巧来了

答案是:有的
图片描述

对于上图的部门层级结构,给出对应的数据库设计
图片描述

具体说一下:添加一个辅助的varchar字段level,字段的逻辑是多个部门的id使用.来连接,假设首层使用0表示,每一个层级使用上一层的level拼接上.再拼接父级部门id来表示

比如 :UE(id:8)的上级部门是 前端开发(id:3),前端开发的上级部门是技术组(id:1),因此UE的level就是0.1.3,前端开发的level是0.1

这个时候如果查询技术部门下面的所有子部门,只需要使用字符串 0.1% 去查询即可;查询前端开发的所有子部门,只需要使用字符串 0.1.3* 去查询即可,即找到当前部门记录的level, 拼上 . 再拼上当前部门,再拼个% 做后缀模糊匹配。目前这个技巧已经在权限课程的部门层级和权限模块层级中使用,在实战课程中做了重点介绍,深受好评。子部门查询的伪代码如下:

level like {level}.{id}%

點擊查看更多內容
58人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質文章

正在加載中
JAVA開發(fā)工程師
手記
粉絲
1.3萬
獲贊與收藏
3283

關注作者,訂閱最新文章

閱讀免費教程

感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優(yōu)惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消