시퀀스(Sequence)
시퀀스란 시스템에서 자동으로 생성해내는 숫자의 배열을 말한다.
시퀀스 생성
create sqeuence 시퀀스이름 시퀀스를 생성한다.
start with number1 시퀀스의 시작값 설정, 미설정시 1부터 시작
increment by number2 시퀀스의 다음값으로 패턴 설정(증감값), 미설정시 1씩 증가
max(min)value number3 시퀀스의 최대/최소값 설정 미설정시 거의 무한
cycle(nocycle) 시퀀스의 최대/최소값 초과시 반복할지 설정.
cashe number4 (no cashe) 시퀀스의 값은 캐시에 설정해놓은 갯수만큼 한번에 미리 만들어놓고 사용하는데, 시스템의 비정상적 종료 등으로 캐시에 미리 만들어놓은 시퀀스값이 사라질수가 있다. 이를 대비해 캐시에 미리 만들어놓은 갯수를 설정할수 있다.
시퀀스 사용
시퀀스이름.nextval 을 통해서 지정해놓은 패턴을 따라 다음 값을 반환한다.
시퀀스이름.currval 을 통해서 현재 값을 반환한다.
인덱스(Index)
DB에서 검색에 사용할 Index를 테이블에 특정 컬럼을 기준으로 설정 할 수 있다.
index를 추가하면 기준이된 컬럼 값을 기준으로 새로운 tree가 만들어지기 때문에 특정 값 검색속도가 비약적으로 상승할 수 있다.
하지만 인덱스생성시 많은 작업량이 요구되고 별도의 저장공간이 추가로 필요하며 지나치게 많은 인덱스를 오히려 성능저하를 가져오기 때문에 꼭 필요한 인덱스만 생성하는게 유리하다. 인덱스 생성에 유리한 조건 Unique한 값, 적절한 분포도 등을 고려해야 한다.
인덱스 생성
create index 인덱스명 on 테이블명(기준컬럼명);
'ORACLE > ORACLE 기초' 카테고리의 다른 글
오라클 시노님(Synonym) (0) | 2021.01.09 |
---|---|
12. PL/SQL - PROCEDURE, User-defined FUNCTION, TRIGGER, CURSOR (0) | 2020.09.12 |
11. View (0) | 2020.09.12 |
10. Transaction, Lock (0) | 2020.09.12 |
9. 제약조건(Constraint) (0) | 2020.09.12 |