약 84 백만 행이 있습니다. 이들 중 모두 동일한 서버의 별도 데이터베이스로 전송해야하며 소스 데이터베이스에서 약 6 천만 개의 행을 삭제하기 위해 삭제합니다.
8 천 8 백만 행이 모두 같은 테이블에 있습니다. 이 테이블만으로도 전체 데이터베이스의 90 %를 차지합니다.
그래서 ... 출처 : 84 백만 행-> 2 천 4 백만 행 목적지 : 0 행-> 8 천 8 백만 행
소스가 전체 복구 모드를 실행 중이고 대상이 단순하게 실행 중입니다.
이 작업을 수행하는 가장 효율적인 방법이 무엇인지 궁금합니다.
계획 A :
1) 대상 SELECT * FROM 소스에 삽입
2) TRUNCATE 소스
3) 소스 선택에 삽입 * keep_condition = 1 인 대상에서
계획 B :
1) 원본 데이터베이스의 백업을 대상 데이터베이스로 복원
2) 대상 데이터베이스에서 필요한 것을 제외한 모든 테이블을 삭제하십시오.
3) TRUNCATE 소스
4) 소스 선택에 삽입 * keep_condition = 1 인 대상에서
계획 C :
1) 대상 SELECT * FROM 소스에 삽입
2) keep_condition = 0 인 소스를 삭제하십시오.
또는 다른 것?
감사