我是个老六 2023-01-31 09:37 采纳率: 60%
浏览 89
已结题

数据范围权限- - - 对于部门的控制

背景: 我每张表中 都会有 create_user ,跟 user表, 也就是用户表 的 id关联.
而user表中的dept_id 跟部门表的id关联, 那么控制部门的数据范围, 也就很简单了

困扰: 这个流程很麻烦, 而且效率极低

示例: 假如我有这个需求. 我查到当前用户所在的部门id,然后拿这个部门id 查他所在的最高部门id, 然后根据这个最高部门id 下查所有关联的子部门 id.
拿到的是一个id集合, 然后我要用这个集合跟user用户表中的部门id关联,查出所有关联的用户, 拿到的是一个用户id集合.
再用这个用户id集合,去跟create_user,一一比对, 符合的数据作展示, 那就是很多个 or 的sql拼接 .
这样效率极其低下, 如果数据量是 千条,万条, 那么他这个查询速度, 我不敢想

请求建议: 有什么更优的办法吗, 最好还是围绕着 create_user来进行, 我想到的是,建一个父部门与子部门的关系表, 但感觉好像不太行

  • 写回答

5条回答 默认 最新

  • 我是个老六 2023-01-31 10:00
    关注

    关于部门id取名的规范, 有大哥给我建议了, 同一个父部门下, 父部门若为 201, 那么子部门都以201开头, 这样,当我知道当前用户部门, 就可以直接查到201关联的所有部门, 这个很棒 .

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月31日
  • 修改了问题 1月31日
  • 修改了问题 1月31日
  • 修改了问题 1月31日
  • 展开全部

悬赏问题

  • ¥15 yolov5目标检测并显示目标出现的时间或视频帧
  • ¥15 电视版的优酷可以设置电影连续播放吗?
  • ¥50 复现论文;matlab代码编写
  • ¥30 echarts 3d地图怎么实现一进来页面散点数据和卡片一起轮播
  • ¥15 数字图像的降噪滤波增强
  • ¥15 心碎了,为啥我的神经网络训练的时候第二个批次反向传播会报错呀,第一个批次都没有问题
  • ¥15 MSR2680-XS路由器频繁卡顿问题
  • ¥15 VB6可以成功读取的文件,用C#读不了
  • ¥15 如何使用micpyhon解析Modbus RTU返回指定站号的湿度值,并确保正确?
  • ¥15 C++ 句柄后台鼠标拖动如何实现