我有3个表,都有相同的字段:
id profile_id group_id comment parent_id registered updated
其中group_id是表格的关键,因为它代表我网站的3个不同部分之一。
因此group_id可以转换为类型& special_id。对于例如type =('a','b','c')其中special_id是类型的id。
请记住,我的数据库中有其他表与这些/这个'核心'表相关。
最好是实施我提出的建议,以提高网站的效率/规模,还是最好保持表格彼此独立?
答案 0 :(得分:1)
简短的回答:如果您没有同时使用具有不同group_ids的表的查询,则最好将其分开。
因为DBMS(http://en.wikipedia.org/wiki/Database)应该决定在内存中加载表。这是快速和有效的。更多的数据......比方说1'000'000行是非常“很多”将它加载到内存中。 DBMS只会抓取硬盘。所以更好的方法是分开。
但是如果每个group_id只有10'000行,并且您有很多查询加入这些组,例如FROM a JOIN b ON b.profile_id = a.profile_id WHERE a.group_id = 'a' AND b.group_id = 'b'
,那么只有一个表通常会更好,因为DBMS可以优化访问时间。
您可以随时查看DMBS如何使用EXPLAIN SELECT ...
处理查询。