빈 테이블에 인덱스를 만든 후 데이터를 삽입하거나 오라클에 데이터를 삽입한 후 고유 인덱스를 생성하시겠습니까?
어떤 옵션이 더 좋고 더 빠릅니까?빈 테이블에 인덱스를 작성한 후 데이터를 삽입하거나 데이터를 삽입한 후 고유 인덱스를 작성한 후 데이터를 삽입합니다.삽입해야 할 행이 약 10M 있습니다.다운타임을 최소화하려면 어떤 옵션이 더 나을 것입니다.
데이터를 먼저 삽입한 다음 인덱스를 만듭니다.
UPDATE, INSERT 또는 DELETE 작업을 수행할 때마다 테이블의 인덱스도 업데이트해야 합니다.따라서 먼저 인덱스를 만든 다음 10M개의 행을 삽입하면 대량 작업을 수행하지 않는 한 인덱스도 10M번 업데이트해야 합니다.
레코드를 삽입한 다음 행을 가져온 후 인덱스를 만드는 것이 더 빠르고 좋습니다.행을 삽입할 때 인덱스 유지 관리의 오버헤드가 없기 때문에 더 빠르고 인덱스의 조각화 관점에서 더 좋습니다.
고유 인덱스의 경우 인덱스를 만들 때 오류가 발생하지 않도록 가져오는 데이터가 고유한지 확인해야 합니다.
다른 사람들이 말했듯이, 먼저 삽입하고 나중에 인덱스를 추가합니다.테이블이 이미 존재하고 이와 같은 데이터 더미를 삽입해야 하는 경우 모든 인덱스 및 제약 조건을 삭제하고 데이터를 삽입한 다음 인덱스를 다시 적용합니다.롤백 세그먼트 공간이 부족할 가능성을 방지하기 위해 중간 커밋을 수행해야 합니다.이렇게 많은 데이터를 삽입하는 경우 SQL*Loader를 사용하여 시간과 문제를 줄이는 것이 유용할 수 있습니다.
이것이 도움이 되길 바랍니다.
언급URL : https://stackoverflow.com/questions/1983979/insertion-of-data-after-creating-index-on-empty-table-or-creating-unique-index-a
'IT' 카테고리의 다른 글
.git 속성 파일에서 text=auto의 목적은 무엇입니까? (0) | 2023.08.16 |
---|---|
새 jQuery AJAX 코드에 성공 및 오류 대신 .done() 및 .fail()을 사용해야 합니까? (0) | 2023.08.16 |
버튼을 클릭할 때 jquery datables fnServerData를 트리거하여 AJAX를 통해 테이블을 업데이트하려면 어떻게 해야 합니까? (0) | 2023.08.16 |
스프링 부트 + 멀티 테넌시(Multi-tenancy)가 포함된 스프링 데이터 (0) | 2023.08.16 |
날짜를 각도 2에서 이 'yyyy-MM-dd' 형식으로 변환하는 방법 (0) | 2023.08.16 |