Mysql 合并单个表?

Mysql 合并单个表?,mysql,database,rdbms,Mysql,Database,Rdbms,我有五张桌子表1,表2,表3,表4和表5 所有这些表都以相同的方式编制索引,这意味着,例如,对于namejohn75de,table1包含个人详细信息 table2包含他的技能,table3包含专业经验,table4包含资质,table5包含其他资质 这些表从一开始就存在,但我认为我需要将所有数据合并到一个表中,因为这5个表都使用相同的索引引用。所有这些表格中有500k个名称和详细信息 名称或任何数据之间没有其他交叉关系。那你觉得呢。我需要合并它吗?如果是,我怎么做?因为所有与一个名字相关的数据

我有五张桌子<代码>表1,
表2
表3
表4
表5

所有这些表都以相同的方式编制索引,这意味着,例如,对于name
john75de
table1
包含个人详细信息
table2
包含他的技能,
table3
包含专业经验,
table4
包含资质,
table5
包含其他资质

这些表从一开始就存在,但我认为我需要将所有数据合并到一个表中,因为这5个表都使用相同的索引引用。所有这些表格中有500k个名称和详细信息


名称或任何数据之间没有其他交叉关系。那你觉得呢。我需要合并它吗?如果是,我怎么做?因为所有与一个名字相关的数据都在一行中,我希望这会更容易。哦,是的,名称是唯一的。

合并这些表听起来不是个好主意。一个人可以有多个地址、多个技能、多个以前的工作和多个资格。要对此进行建模,您需要一对多关系,这最好使用单独的表来完成

如果“资格”和“附加资格”具有相同的结构,我可能会尝试将这两个表合并到一个表中。为此,可以从一个表中选择所有行并将它们插入到另一个表中,然后删除不需要的表。如果需要区分这两种资格,可以为此添加一列。下面是一些将数据从一个表复制到另一个表的SQL示例:

INSERT INTO qualifications (col1, col2, ... coln, is_additional)
SELECT col1, col2, ... coln, 1
FROM addtional_qualifications

如果两个表中有一个值相同的自动递增主键列,则合并这两个表可能会很棘手,其他表通过外键约束引用这些值。

可能会显示有关表结构的更多详细信息数据库I/O five table将搜索一个名为John75de的名称,以便它是否会影响性能?如果没有关于应用程序的更多详细信息,很难给出具体答案,但是这里有一条一般性的建议:如果您遵循公认的数据库设计和规范化最佳实践,就不会犯太大的错误。有些例外情况下,最佳实践是行不通的,但除非你真的知道自己在做什么,否则我建议你坚持使用标准技术。拥有五个表而不是一个表不太可能带来显著的性能问题。