对于目前只有很少(5-10)个设置但将来会有更多(最多100个)设置的应用程序,这将是更好的方法:
考虑到应用程序可能有数百万个实例(它们都在同一个数据库上运行并使用同一个表进行设置),数据库可能被分片。DB 是关系型的,即 MySQL 或 T-SQL。
作为开发人员,我更喜欢第二个变体,因此我可以在不更改数据库架构的情况下扩展应用程序并随意添加/删除设置。据我了解,如果索引聚集在应用程序实例上,那么在单个表中拥有几百万条记录应该不是问题。有什么我不知道的缺点吗?
那么第一个变体呢?有什么大的好处吗?那么列数呢:表可以包含的列数是否有任何理论限制?如果我有一个包含 1000 (10 000, 1000 000) 列的表会发生什么?那会不会很慢?