因此,我有一个Postgres数据库的情况,它包含大量由2-3个表组成的组,这些表与数据库中的其他任何内容没有任何关系(但在组内相互引用)。将所有这些组组合成单独的数据库是否有助于提高性能?即使如此,我也不想处理到数据库的大量连接。还有其他方法可以使用数据的属性来提高性能吗?
发布于 2014-06-11 21:00:22
如果每个组中的表结构(大部分)是相同的,即它们共享(大部分)相同的列(相同的类型,相关的含义),那么我建议将所有组合并到一组表中,并在每个表中添加一个group_id。
加上一个小表来列出所有的组,并引用它的主键group_id .
如果只有少数表有额外的列,则只需添加它们,并将它们保留为所有其他组的空列。NULL columns are cheap ...
可以添加 constraints以强制哪些组可以/必须具有列中的值。
同时也要注意继承。下面是一个相关的答案,讨论这个问题:
https://stackoverflow.com/questions/24171350
复制相似问题