在MYSQL中创建一个大表需要多长时间?

时间:2012-05-31 22:51:58

标签: mysql sql

当我从文本文件导入一个包含3000万行的表到MYSQL表时,它只用了1分钟。但是,我意识到我错过了一个列,我需要将它添加到表中。在MYSQL命令行中,我编写了以下命令:

create tableC as(tableA.T1, tableB.ZID from tableA, table B where A.ZID = B.ZID)

已超过一小时,命令尚未终止。有谁知道原因? TableB已经在MYSQL服务器中。

1 个答案:

答案 0 :(得分:0)

不是100%肯定,但您最好先改变表格并添加列,然后进行更新以填充该列

ALTER TABLE tableB ADD COLUMN colA yourColumnDefinition;
UPDATE tableB SET colA = <however you do it>;

我不完全确定您要将列添加到哪个表或者如何计算它。根据您发布的查询,您似乎正在创建一个映射表,以便将两个表的ID相互映射。如果是这种情况,您可能最好将外键放在其中一个表中。

同样,这可能不是您正在寻找的内容,但如果您只想在已创建的表中添加列,这可能是更好的方法。