我有一个大表(超过6万行),我试图将此表中的唯一行复制到另一个表。查询如下
INSERT INTO tbl2(field1, field2)
SELECT DISTINCT field1, field2
FROM tbl1;
但运行此查询需要花费很长时间,有人可以建议任何加速此过程的方法
答案 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);