当我从文本文件导入一个包含3000万行的表到MYSQL表时,它只用了1分钟。但是,我意识到我错过了一个列,我需要将它添加到表中。在MYSQL命令行中,我编写了以下命令:
create tableC as(tableA.T1, tableB.ZID from tableA, table B where A.ZID = B.ZID)
已超过一小时,命令尚未终止。有谁知道原因? TableB已经在MYSQL服务器中。
答案 0 :(得分:0)
不是100%肯定,但您最好先改变表格并添加列,然后进行更新以填充该列
ALTER TABLE tableB ADD COLUMN colA yourColumnDefinition;
UPDATE tableB SET colA = <however you do it>;
我不完全确定您要将列添加到哪个表或者如何计算它。根据您发布的查询,您似乎正在创建一个映射表,以便将两个表的ID相互映射。如果是这种情况,您可能最好将外键放在其中一个表中。
同样,这可能不是您正在寻找的内容,但如果您只想在已创建的表中添加列,这可能是更好的方法。