큰 테이블 (60k 개 이상의 행)이 있는데이 테이블의 고유 한 행을 다른 테이블에 복사하려고합니다.INSERT INTO ... MySQL의 SELECT
INSERT INTO tbl2(field1, field2)
SELECT DISTINCT field1, field2
FROM tbl1;
를 다음 그러나 다음 중복 된 데이터를 필터링하는 SQL 파일을 생성, 누군가가이 과정
큰 테이블 (60k 개 이상의 행)이 있는데이 테이블의 고유 한 행을 다른 테이블에 복사하려고합니다.INSERT INTO ... MySQL의 SELECT
INSERT INTO tbl2(field1, field2)
SELECT DISTINCT field1, field2
FROM tbl1;
를 다음 그러나 다음 중복 된 데이터를 필터링하는 SQL 파일을 생성, 누군가가이 과정
테이블의 mysqldump를 실행을 가속화 할 수있는 방법을 제안 할 수 있습니다,이 쿼리를 실행하기 위해 나이를 취하고로 쿼리입니다 셸 명령 :
cat dump.sql | uniq > dump_filtered.sql
생성 된 파일을 확인하십시오. 그런 다음 새 테이블을 작성하고 LOAD DATA INFILE과 함께 dump_filtered.sql 파일을로드하십시오.
이 시도 :
1. drop the destination table: DROP DESTINATION_TABLE;
2. CREATE TABLE DESTINATION_TABLE AS (SELECT * FROM SOURCE_TABLE);
가 확대? 가속 해? 귀하는 진술의 실행 계획을 공유 할 수 있습니까? – GurV
실행 계획은? 이 문은 마이그레이션 파일의 일부분입니다. – madhur
두 개의 필드에 대해 GROUP BY 쿼리로 실행될 수 있습니다. 이 경우 전체 테이블 스캔이 필요하며 인덱스가 도움이되지 않습니다. –