두 개의 MySQL 테이블 t1과 t2가 각각 1M과 15M 로우입니다. 표 t1은 'tel'와 t2의 필드가 하나 뿐이지 만 'tel'필드도 있습니다. 내가 뭘 원하는 매우 간단합니다 :두 개의 큰 MySQL 테이블에서 일치하는 레코드 삭제
DELETE FROM t1 WHERE t1.tel IN (SELECT tel FROM t2)
문제는이 쿼리가 완료되지 것이다 : T2에 존재 T1의 모든 행을 삭제합니다. 나는 그것을 8 코어 Xeon 워크 스테이션에서 돌리고 2 일 후에 그것을 멈추고 대안을 찾기로 결정했다. 나는 또한 새로운 테이블 (tt1)을 만들고 LE1 OUTER JOIN을 사용하여 t1에없는 t2의 행만 삽입하려고 시도했지만 동일한 시간이 걸릴 것으로 보인다. t1의 'tel'필드는 기본 키이며 t2의 고유 키입니다 (또한 t2 (tel)에 INDEX t2tel을 작성했지만 도움이되지 않았습니다).
의견이 있으십니까? 순서가 지정된 배열이나 해시로 두 테이블을 모두로드하고 코드를 통해 C# 프로그램을 작성하는 것을 고려하고 있습니다 ... 미리 감사드립니다.
또한 http://www.amazon.com/High-Performance-MySQL-Optimization-Replication/dp/0596101716. 최고의 MySQL 성능 리소스. –