我有一个支持大量用户的大型数据库。每个用户都有一个自动递增的唯一密钥。同样,每个用户可能具有许多与更多企业相关的通用属性。我想没有一个单独的与用户键和业务键相关的属性表(最终将成为一个巨大的3列表,其中包含太多唯一键),我想我可以将属性嵌入到用户表中。这样,用户键47将从1,2,3等处开始其属性,而用户键48也会从1,2,3等处开始。
有可能吗?模式是什么样的?
添加此内容以澄清...
index | name
47 | Joe
sub-index key | attribute | business key
1 | 123456 | 153
2 | 987665 | 364
48 | Jill
sub-index key | attribute | business key
1 | ABCDEF| 293
3 | 0-114-| 2394
在上述情况下,吉尔与第二家公司开展业务,但删除了她的帐户。这样,她添加的下一个关系的下一个索引将从索引4开始,这是一个要求(不可变键),但是,此时检索到的总列表将仅包含2个项目(不是3,其中一个为空,这也是一项要求)。我可以使用插页式表格轻松做到这一点...
index | users | business | attribute
1 | 47 | 153 | 123456
2 | 48 | 293 | ABCDEF
3 | 47 | 364 | 987665
5 | 48 | 2394 | 0-114-
在这种情况下,假设有20亿用户,每个用户拥有10到20个帐户...此插页式表格的索引将变得巨大。当时想在用户级别上拥有10到20个索引会很好,但是不确定是否存在这样的事情。我当时在想一个单独的表,该表带有一个供用户使用的外键,以及一些用于每个外键的内部键的内部机制,但是对于数据库工作来说,我是一个新手……只是在寻找一些友好的想法来自专家。
想像这样的东西...
user-key | local key | business | attribute
47 | 1 | 153 | 123456
48 | 1 | 293 | ABCDEF
47 | 2 | 364 | 987665
48 | 3 | 2394 | 0-114-