2016-11-08 3 views
0

다른 데이터베이스의 테이블에 수백만 개의 행을 복사 중입니다. 데이터 사이에 몇 가지 작업을 수행하고 대상 테이블의 키로 사용되는 특정 열에 중복 항목이 있습니다. 이 문제를 해결하기 위해 다른 모든 솔루션을 무시하고 "삽입 또는 바꾸기"를 사용하여 테스트하고 있으며 지금까지 처리가 원활하게 진행되고 있지만 이것이 일반적인 "삽입"보다 빠르지는 확실하지 않습니다 (주어진 경우가없는 경우). PK 중복)?SQLite "삽입 또는 바꾸기"가 "삽입"보다 느립니다.

답변

2

OR REPLACE 절은 위반 될 수있는 UNIQUE (또는 PRIMARY KEY) 제약 조건이있는 경우에만 작동합니다.

이것은 데이터베이스가 인 경우 항상은 중복이 있는지 확인해야한다는 것을 의미합니다. 중복이 발견되면 오류가보고되거나 이전 행이 삭제됩니다.