Mysql 结构的数据库再评价

Mysql 结构的数据库再评价,mysql,database,performance,database-design,evaluation,Mysql,Database,Performance,Database Design,Evaluation,我有3个表,都有相同的字段: id profile_id group_id comment parent_id registered updated 其中,group_id是表的键,因为它代表我网站三个不同部分中的一个 所以组id可以转换成一个类型&特殊id。例如,type=('a','b','c'),其中特殊id是类型的id 请记住,我的数据库中还有其他与这些/这个“核心”表相关的表 是最好实施我提出的提高网站效率/规模的建议,还是最好保持表彼此独立?简短的回答:如果

我有3个表,都有相同的字段:

id  profile_id  group_id    comment     parent_id   registered  updated
其中,group_id是表的键,因为它代表我网站三个不同部分中的一个

所以组id可以转换成一个类型&特殊id。例如,type=('a','b','c'),其中特殊id是类型的id

请记住,我的数据库中还有其他与这些/这个“核心”表相关的表


是最好实施我提出的提高网站效率/规模的建议,还是最好保持表彼此独立?

简短的回答:如果您没有同时使用不同组ID的表的查询,那么最好将它们分开

因为DBMS()应该决定在内存中加载表。这是快速有效的。更多数据。。。让我们假设1000000行是在内存中加载它的“太多”。DBMS将仅对硬盘进行爬网。所以最好的办法是分开

但是,如果每个组id只有10000行,并且有很多查询将这些组连接起来,比如b.profile\u id=a.profile\u id上的join b中的
,其中a.group\u id='a'和b.group\u id='b'
通常最好只有一个表,因为DBMS可以优化访问时间


您可以随时使用
EXPLAIN SELECT…

检查DMB如何处理查询取决于表的大小和查询基本上,我有3个表具有相同的功能,最好将它们连接成一个表,减小数据库大小,还是保持原样?@Varon right好的,这是一个有用的注释!你能扩展吗?因此,如果您可以想象,每个表中有10000个条目,保持它的原样会更有效吗?似乎更适合这个问题,因为它是关于数据库设计的。这也是DB专家常去的地方。他们将能够权衡正交设计原理等因素对设计的影响。您应该能够标记您的问题,以便版主移动它。说到模式,include就是SQL。