【发布时间】:2012-01-10 13:28:05
【问题描述】:
考虑一个包含每个用户信息的移动设备管理器系统,例如存储他在手机上安装的应用程序的表、审核详细信息、通知信息等。为每个用户创建单独的架构是否明智?对应的表?对于单个用户来说,表的数量很大,每个用户大约有 30 个表。最好有一个单独的架构,将所有这些信息放入这些表中(进而创建巨大的表?)还是为每个用户都有一个架构?
提前致谢
【问题讨论】:
-
这个我可能不太明白,但是为什么你不能在每个表中都有一个
UserID? -
是的,我可以,但我想看看哪种方法在数据库查询方面更有效。即是否添加用户ID,但由于用户数量众多而反过来又拥有大表,或者每个用户是否应该有单独的架构
-
mishelle- 我认为所有主要系统(具有多用户模型)都遵循 Damir 建议的方法(使用 UserId)。 “每个用户的模式”方法将无法扩展。想象一下,您的数据库中有 50 个表,并且有 10 个用户尝试创建帐户。您必须在正在运行的系统上创建 500 个表!
-
@RajeshChamarthi:我曾在生产环境中运行过拥有数万个表的系统。人们比服务器更难。 (如果您购买了非常好的服务器。)
标签: database database-design multi-tenant database-performance