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 인덱스명;