单库多租户模式 ,支持租户创建二级代理,代理字段有必要冗余到表里吗?

一个问题

租户可以创建1级代理

租户可以看1级代理的所有数据

1级代理可以看他自己的所有数据

类推 1级代理可以创建2级代理

目前表字段:

1表

tenant_id 租户ID
agent_id 代理ID 如果为0 表示为租户自己的数据
user_id 用户ID

如果想看某个代理的所有数据 直接 select * from table where agent_id = xxx;

如果把agent_id不冗余的情况下,每次都去user表去查当前代理创建的所有用户,然后在回到1表in或者join数据 多了一层查询

如果是你 ,你会采用那种方案?


回答:

你业务表涉及到用户的话,假设业务表都加了这个字段,一旦用户挂载的代理变了,那就比较坑了,所有的地方都要改,就看你怎么取舍了,
如果是用户表数据量小,连表就连了,要是挂载的代理确定不会变或者几乎不改变的情况下,冗余肯定是会快很多的

以上是 单库多租户模式 ,支持租户创建二级代理,代理字段有必要冗余到表里吗? 的全部内容, 来源链接: utcz.com/p/944338.html

回到顶部