我正在设计一个为用户提供大量信息的数据库。目前我需要存储20个不同的值,但随着时间的推移,我可能会添加越来越多的值。
我已经查看了StackOverflow的类似问题,但它通常最终会让提问者不正确地设计他的表。
基于StackOverflow的内容,我应该:
请记住这是针对MySQL数据库的,所以我理解不喜欢关系数据库上的Key-Value表。
感谢。
答案 0 :(得分:0)
可能是我错过了你的问题。你能说清楚吗
答案 1 :(得分:0)
我建议3.混合使用1和2.也就是说,将已知的核心字段放入主表中,并且知道您将经常查询。然后为更隐蔽或扩展的属性添加键值表。我认为这种方法可以平衡保持表格宽度相对较窄的竞争目标,并最大限度地减少基本查询所需的连接数。
您可以考虑的另一种方法是代替或与上述方法相结合,是某种ETL过程。也许您将键值表定义为应用程序添加数据的便捷方式;然后设置复制,触发器和/或每晚/每小时存储过程,将数据转换为更适合查询和报告目的的形式。
确切的最佳方法应通过仔细规划和考虑应用程序的整个架构来确定。