我有 3 个表,全部具有相同的字段:
id profile_id group_id comment parent_id registered updated
其中 group_id 是表的键,因为它代表我网站的 3 个不同部分之一。
因此group_id可以转换为type&special_id。例如type = ('a','b','c') 其中special_id是类型的id。
请记住,我的数据库中还有与这些/这个“核心”表相关的其他表。
最好实现我提出的提高网站效率/规模的建议,还是最好保持表格彼此独立?
最佳答案
简短的回答:如果您没有同时使用具有不同 group_id 的表的查询,那么最好分开。
因为 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 可以优化访问时间。
您始终可以使用 EXPLAIN SELECT ...
检查 DMBS 如何处理查询.
关于mysql - 数据库结构重新评估,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22091836/