我的应用程序需要支持多个用户。每个用户都有大量(百万)的数据条目。应用程序需要根据当前登录用户选择条目。
对于这样的需求,最佳的SQL数据库设计是什么?将所有内容放入一个带有额外user字段的表中?还是为每个用户创建一个表?
在这种情况下,NoSQL更好吗?
发布于 2016-10-14 07:51:00
对于每个用户来说,表的效率会非常低,因为每当用户离开或加入时,您都需要重新安排您的表结构。
在表中有一个owner_ID字段,然后允许普通用户是可识别的,这意味着当某人登录查询时,可以运行AND owner_id = @active_user_ID
值得拥有一个表来将ID链接到登录用户,然后还可以设置管理器(表User_ID、Manager_ID、名称、详细信息.)这意味着您可以允许经理查看下属的所有数据(如果需要的话)。
值得注意的是,这样一种结构可以考虑在根据owner_id字段组织数据的结构中索引表,以提高每个用户的性能,因为它们不太可能重叠。
发布于 2016-10-14 08:23:05
如果您能够分享更多关于您存储的数据类型以及如何组织的详细信息,我们将能够给出更好的答案。
这可能有助于了解sql与nosql之间的关系。
由于Ste Bov提到为每个用户拥有单独的表并不是一个好的设计,所以最好有用户id列来标识用户。
我的两分钱
https://dba.stackexchange.com/questions/152259
复制相似问题