所以我有一种情况,我有Postgres数据库,有大量的2-3个表组,与数据库中的任何其他东西都没有任何关系(但是在组内相互引用) 。将所有这些组合成单独的数据库有助于提高性能吗即便如此,我也不想处理与数据库的大量连接。还有另一种方法可以使用我的数据属性来提升性能吗?
答案 0 :(得分:0)
如果每个组中的表结构(大部分)相同,即它们(大部分)共享相同的列(相同类型,相关含义),那么我建议将所有组合并到一组表中并添加{每张桌子{1}}
另外还有一个小表来列出所有组,并使用fk引用其主键group_id
...
如果只有少数表有额外的列,您只需添加它们,并为所有其他组保留NULL。 NULL columns are cheap ...
您可以添加CHECK
constraints来强制哪些组可以/必须具有哪些列的值。
还要继承。以下是讨论它的相关答案:
Database design - should two projects share the same table?