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

Hello! 歡迎來到小浪云!


如何高效獲取用戶被授權的分級結構,并支持分頁查詢?


avatar
小浪云 2024-11-10 232

如何高效獲取用戶被授權的分級結構,并支持分頁查詢?

mysql 高效獲取用戶被授權的分級結構

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

需求分析

用戶通過不同授權模式可獲授權:

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

查詢策略

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

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
登錄后復制

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

對于用戶被授權的 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
登錄后復制

相關閱讀

主站蜘蛛池模板: 日韩国产在线 | 麻豆av在线免费观看 | av天天看| 超碰97人人人人人蜜桃 | 91精品国产一区二区三区香蕉 | 有码一区 | 99久久久无码国产精品 | 久久综合一区二区三区 | 成人三级视频在线观看 | www.性色| 成人国产免费观看 | 精品自拍视频在线观看 | 天天综合久久 | 久久精品国产99国产精品 | 91久久看片 | 久久精品国产免费看久久精品 | 欧美一级免费看 | 欧美在线视频一区二区 | 99免费在线观看 | 黄色毛片在线看 | 久久亚洲综合 | 日韩精品久久久 | 99久久免费精品国产男女高不卡 | 欧美精品综合 | 欧美一级片黄色 | 人人看人人草 | 中文日韩在线视频 | 成人av一区二区在线观看 | 成人综合一区二区 | 日韩免费一区 | 日韩精品一区二区不卡 | 精品一二三区视频 | 亚洲成人免费在线观看 | 欧美一区二区激情三区 | 羞羞视频免费在线观看 | 少妇久久久 | 成人免费视频播放 | 四季久久免费一区二区三区四区 | 久久亚洲一区二区 | 国产精品毛片久久久久久久 | 亚洲视频精品 |