INSERT INTO ...在mysql中选择

时间:2017-01-29 11:28:51

标签: mysql

我有一个大表(超过6万行),我试图将此表中的唯一行复制到另一个表。查询如下

INSERT INTO tbl2(field1, field2) 
SELECT DISTINCT field1, field2 
   FROM tbl1;

但运行此查询需要花费很长时间,有人可以建议任何加速此过程的方法

2 个答案:

答案 0 :(得分:1)

执行表的mysqldump,生成sql文件,然后使用shell命令过滤重复数据:

cat dump.sql | uniq > dump_filtered.sql

检查生成的文件。然后创建新表并使用LOAD DATA INFILE加载dump_filtered.sql文件。

答案 1 :(得分:0)

试试这个:

1. drop the destination table: DROP DESTINATION_TABLE;
2. CREATE TABLE DESTINATION_TABLE AS (SELECT * FROM SOURCE_TABLE);