我正在开发的应用程序就像flikr,但有团队概念。每个组由多个用户组成,用户只能在其组内执行上传,共享,评论等活动。
我正在考虑为group-name命名空间下的有组织数据创建每个模式的模式,以便轻松管理它。有效。
Will it have any adverse effect on database backup plans ?
Is there any practical limits on number of schemas per database ?
答案 0 :(得分:1)
将相同结构的数据拆分为模式时,您需要预测到您不再需要将它们作为全局实体进行查询这一事实。因为它在同一模式的不同表中具有繁琐和反SQL的作用。
例如,假设您有100个用户组,在100个名为group1..group100
的模式中,每个模式都有一个photo
表。
要获取系统中的照片总数,您需要执行以下操作:
select sum(n) FROM
(
select count(*) as n from group1.photos
UNION
select count(*) as n from group2.photos
UNION
select count(*) as n from group3.photos
...
UNION
select count(*) as n from group100.photos
)
只要添加或删除组,也需要重建此类查询或视图。
这既不容易也不高效,它是程序员的噩梦。