我想重新设计一个包含两列uuid
和consumerId
的存在表。在这个阶段,不同的uuid有50个金额,而且每个uuid的消费者ID都超过100k
那么,是否合理创建50个表并使用uuid命名,例如consumerId_{uuid001}
以避免uuid
列导致的冗余?
答案 0 :(得分:0)
首先,您需要考虑如何使用此数据库的用例。
您是否需要查找特定uuid
的每个consumerId
?
使用你提出的设计意味着你需要查询50个不同的表,然后统一结果,这根本不是一件容易的事。
我会选择以下选项之一:
uuid
查询所有consumerId
,反之亦然。我没有看到额外100k整数的问题,只有几千字节。consumerId
存储在每个uuid
的列表中。伪代码:table(uuid: String, consumerId: List<String>)
这肯定是紧凑的表示,但您可能很难构建某种类型的查询(其中consumerId
是参数之一)。