九色91_成人精品一区二区三区中文字幕_国产精品久久久久一区二区三区_欧美精品久久_国产精品99久久久久久久vr_www.国产视频

Hello! 歡迎來到小浪云!


如何高效獲取用戶被授權(quán)的分級結(jié)構(gòu),并支持分頁查詢?


avatar
小浪云 2024-11-10 214

如何高效獲取用戶被授權(quán)的分級結(jié)構(gòu),并支持分頁查詢?

mysql 高效獲取用戶被授權(quán)的分級結(jié)構(gòu)

在復(fù)雜的授權(quán)結(jié)構(gòu)下,查詢用戶被授權(quán)的分級結(jié)構(gòu)十分重要。本文將探討如何有效率地從 mysql 數(shù)據(jù)庫中獲取用戶被授權(quán)的 f、e 和 d 列表,并支持分頁功能。

需求分析

用戶通過不同授權(quán)模式可獲授權(quán):

  • [1] 全部授權(quán) d、e、f
  • [2] 授權(quán) d,包括 d 下所有 e 和 f
  • [3] 授權(quán) d > e,包括 e 下所有 f
  • [4] 授權(quán) d > e > f
  • [5] 授權(quán) area,包括所有屬于 area 的 f,跨 d,跨 d > e
  • [6] 授權(quán) d 下的 area ,含 d 下所有在 area 的 f,跨 d > e
  • [7] 授權(quán) d > e 下的 area ,含 e 下所有在 area 的 f

查詢策略

針對用戶被授權(quán)的 f 列表,數(shù)量較多,需要分頁,且去重。可采用以下查詢策略:

select f.f_id, f.f_name, f.f_area from p join f on p.f_id = f.f_id or p.f_id = 0 where p.u_id = @user_id and (p.d_id = f.d_id or p.d_id = 0) and (p.e_id = f.e_id or p.e_id = 0) and (p.a_code = f.f_area or p.a_code = "") order by f.f_id limit x, y
登錄后復(fù)制

其中,x 為起始索引,y 為每頁的數(shù)量。

對于用戶被授權(quán)的 e 和 d 列表,可采用類似查詢策略:

-- E 列表查詢 SELECT E.E_id, E.E_name FROM P JOIN E ON P.E_id = E.E_id OR P.E_id = 0 WHERE P.U_id = @user_id AND (P.D_id = E.D_id OR P.D_id = 0) ORDER BY E.E_id LIMIT x, y  -- D 列表查詢 SELECT D.D_id, D.D_name FROM P JOIN D ON P.D_id = D.D_id OR P.D_id = 0 WHERE P.U_id = @user_id ORDER BY D.D_id LIMIT x, y
登錄后復(fù)制

相關(guān)閱讀

主站蜘蛛池模板: 97国产一区二区精品久久呦 | 天天操天天干天天透 | 久久久精品影院 | 国产91丝袜 | 国产精品免费一区二区 | 99久久久国产精品免费消防器 | hitomi一区二区三区精品 | 亚洲成人99| 九九在线精品视频 | 欧美久久一级特黄毛片 | 欧美综合在线观看 | 中文字幕av高清 | 日韩欧美中文字幕在线视频 | 色秀网站 | 国产一区二区三区在线免费 | 91久久久久久久 | 国产一区二区三区 | 亚洲最大的成人网 | 蜜桃黄网 | 国产一区二区高清在线 | 欧美久久一区二区三区 | 成人网在线观看 | 欧美激情在线精品一区二区三区 | 国产精品美女久久久久久免费 | 亚洲精品一区二区在线观看 | 亚洲欧美一区二区三区情侣bbw | 日本成人中文字幕在线观看 | 四虎影院新网址 | 羞羞的视频在线看 | 中文字幕1区2区3区 日韩在线视频免费观看 | 特黄小视频 | 亚洲欧洲精品在线 | 欧美一级大黄 | 亚洲一区av在线 | 欧美美女爱爱视频 | 成人免费看黄网站在线观看 | 亚洲国产精品99久久久久久久久 | 国产三级一区二区三区 | 亚洲最大的黄色网址 | 欧美九九| 91成人精品 |