2008-10-19 6 views
1

데이터베이스 개발에 익숙하지 않으므로 사소한 일입니다.SQL 복사와의 기본 키 충돌 건너 뛰기

나는 대략 10 %의 복제 데이터가있는 대량의 원시 데이터 (약 3 억 행)가 있습니다. 데이터베이스에 데이터를 가져와야합니다. 성능을 위해서 SQL 복사본을 사용하려고합니다. 문제는 데이터를 커밋 할 때 기본 키 예외로 인해 데이터가 처리되지 않습니다. 충돌하는 데이터가 단순히 무시되거나 대체되도록 기본 키의 동작을 변경할 수 있습니까? 나는 어느 쪽이든 상관하지 않습니다. - 나는 단지 각각의 데이터에 대해 하나의 유일한 복사본이 필요합니다.

고맙습니다.

+0

무엇 데이터베이스 엔진? – tvanfosson

+0

"복제 된"대신 "복제 된"을 의미한다고 생각합니다. – MusiGenesis

답변

2

나는 최선의 방법은 제약 조건을 삭제하고 데이터를로드 한 다음 정리하고 제약 조건을 다시 적용하는 것이라고 생각한다.

0

그건 내가 생각한 것이지만, 3 억개의 엔트리 데이터베이스에 3 천만 개의 무작위로 배치 된 행을 제거하는 성능에 대해 걱정했습니다. 중복 데이터에도 공간적 관계가 있기 때문에 모든 데이터를로드 한 후에 데이터를로드하는 대신 문제를 해결하려고했습니다.

0

삽입 할 데이터를 정확하게 선택하려면 select 문을 사용하십시오. (쿼리 단지 - 비 속는)의 FROM CREATE TABLE XYZ AS SELECT *의 기초로

당신은 비 중복 행을 선택하는 방법에 ASKTOM 아이디어를 확인할 수

사용