DB
[Oracle] SEQUENCE, INDEX
_해랑
2022. 2. 16. 23:28
# 시퀀스
시퀀스 생성
CREATE SEQUENCE 시퀀스명
CACHE
CYCLE
MINVALUE 1
MAXVALUE 100
START WITH 1
INCREMENT BY 1;
시퀀스 사용
--시퀀스 이용해 ROW추가
INSERT INTO 테이블명
VALUES(시퀀스명.NEXTVAL, '입력할값', '입력할값')
- 다른 테이블에서 시퀀스를 사용해도 시퀀스명이 같으면 매기던 시퀀스 그대로 매김.
- NULL도 안되고 중복도 안되는 값을 넣어줌 (PRIMARY KEY)
- ROLLBACK시 랜덤.
시퀀스 수정
ALTER SEQUENCE 시퀀스명
바꿔줄내용;
- CACHE : CACHE로 지정해준 수만큼 한번에 메모리에 저장해두고 사용.
시퀀스 삭제
DROP SEQUENCE 시퀀스명;
# INDEX
인덱스 생성
CREATE INDEX 인덱스명
ON 테이블명(컬럼명);
인덱스 사용
--생성한 INDEX의 정보. 데이터 딕셔너리.
DESC USER_INDEXES
- 목차로써 사용. INDEX로 생성시 별도로 저장함.
- 빠른 검색이 목적. 자주 검색되는 컬럼의 값은 자동으로 만들어지기도 함(PK, UK)->UNIQUE INDEX
- 그냥 INDEX에 저장된 값 불러오면 사용됨.
인덱스 삭제
DROP INDEX 인덱스명;