背景: 我每张表中 都会有 create_user ,跟 user表, 也就是用户表 的 id关联.
而user表中的dept_id 跟部门表的id关联, 那么控制部门的数据范围, 也就很简单了
困扰: 这个流程很麻烦, 而且效率极低
示例: 假如我有这个需求. 我查到当前用户所在的部门id,然后拿这个部门id 查他所在的最高部门id, 然后根据这个最高部门id 下查所有关联的子部门 id.
拿到的是一个id集合, 然后我要用这个集合跟user用户表中的部门id关联,查出所有关联的用户, 拿到的是一个用户id集合.
再用这个用户id集合,去跟create_user,一一比对, 符合的数据作展示, 那就是很多个 or 的sql拼接 .
这样效率极其低下, 如果数据量是 千条,万条, 那么他这个查询速度, 我不敢想
请求建议: 有什么更优的办法吗, 最好还是围绕着 create_user来进行, 我想到的是,建一个父部门与子部门的关系表, 但感觉好像不太行