테이블 인덱스 관련하여 0 4 1,249

by TeddyCat [Oracle 기초] 테이블 인덱스 [2017.03.17 14:20:08]


테이블이 있고, 그 테이블에 유니크 인덱스를 생성하고 PK 값은 추후에 Alter 해서 추가 하는데

이게 금방 되야 하는거 아닌가요?

인덱스를 새로 생성 하는것 만큼 오래걸리네요.

혹시 그 이유를 알수 있을까요?

by jkson [2017.03.17 14:43:24]

primary key 생성하실 때 자동으로 primary key index가 생성됩니다.

추가) 아.. pk에 해당하는 인덱스를 미리 생성해놨다는 말씀이시군요..


by 마농 [2017.03.17 15:11:07]

인덱스를 먼저 만들고, 해당 인덱스 항목에 대한 PK 를 나중에 추가한다면?
인덱스를 만드는 시간이 절약되므로 빨리 수행되는게 맞습니다.
인덱스 만드는 시간 외에 추가 시간이 들수 있는 부분이 NOT NULL 제약입니다.
NOT NULL 을 미리 지정해 놓으셨다면 이시간만큼도 절약되겠지요.
NOT NULL 제약 생성시간은 인덱스 생성 시간보다는 훨씬 짧을 듯 하구요.
혹시 인덱스 항목과 PK 항목이 다른건 아닌지요?


by jkson [2017.03.17 16:02:44]

100만건 테스트 테이블을 만들고 테스트해보니
create unique index 해준 경우 primary key 바로 생성되구요.
create index 해준 경우 primary key 생성이 오래 걸리네요.
unique index 생성하신 것 맞죠?

 


by TeddyCat [2017.03.17 16:14:04]

다시 해보고 있습니다. 답변 주신분들 감사합니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입