Recent Posts
Recent Comments
Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 카카오 오븐
- tuple
- SQL Developer
- typing test
- Jupyter Notebook
- 자바
- 카카오맵 API
- 카카오맵
- Kakao 지도 API
- python 기초
- ORA-1017
- Oracle 18c
- Kakao Oven
- 10fastfingers.com
- Usecase Diagram
- MySQL
- Python
- The Network Adapter could not establish the connection
- 데이터베이스 접속
- CSV
- database
- oracle 11g
- SQL
- oracle
- 유스케이스 다이어그램
- 매일 타자연습
- SEQUENCE
- Oracle 오류
- Set
- Java
Archives
- Today
- Total
Another Brain
[Oracle] 시퀀스(Sequence) 본문
CREATE SEQUENCE [이름]
INCREMENT BY [증감숫자] -- 양수면 증가 음수면 감소 기본 1
START WITH [시작숫자] -- 시작숫자의 최초 값은 증가일때 MINVALUE, 감소일때 MAXVALUE
MINVALUE [최솟값]
MAXVALUE [최대값]
CYCLE OR NOCYCLE -- CYCLE : 최대값에 도달하면 최소값부터 다시 시작 / NOCYCLE : 최대값 생성시 중지
CACHE [숫자, 생략가능] OR NOCACHE -- CACHE : 메모리에 시퀀스 값을 미리 할당 / NOCACHE 시퀀스값을 메로리에 할당하지 않음
ORDER OR NOORDER -- ORDER : 반드시 순차적으로 모두 채워서 시퀀스를 사용 / NOORDER : 시퀀스 값을 건너뛸 수 있음
CACHE 옵션을 사용하면 BUFFERS 영역에 시퀀스 값을 미리 띄어놓게되어 CPU 사용을 줄일 수 있다.
NOCACHE 사용시 BUFFERS 메모리는 절약할 수 있지만 시퀀스를 불러올때마다 CPU를 사용하게 된다.
즉, 빈번하게 INSERT하는 테이블의 경우 CPU의 과도한 사용을 불러오게 된다. (CACHE에 올려놓는게 훨씬 효율적)
NOORDER 옵션을 사용할 경우 시퀀스 값을 건너뛸 수 있다.
이것이 가능한 이유는 DB INSTANCE가 여러개일 경우 (RAC : Real Application Cluster 구성시)
각각의 INSTANCE는 동일한 시퀀스를 동시에 부를 수 있고 이 경우 상황에 따라 시퀀스가 건너뛰어지는 일이 생길 수 있다. (Ex> DB 1호기랑 DB 2호기가 같은 시퀀스를 동시에 불러서 NEXTVAL을 부르고 COMMIT은 안 하는 상황 등)
순차적으로 모든 숫자가 빠짐이 없어야할 경우 ORDER 옵션을 넣어야 RAC 구성에서 시퀀스가 빠짐없이 순서를 지킬 수 있다.
'P > SQL' 카테고리의 다른 글
ORA-1017: 사용자명/비밀번호가 부적합, 로그온할수 없습니다. (0) | 2022.03.09 |
---|---|
Oracle Database Express Edition (XE) 11g , 18c / SQL Developer 접속 (0) | 2022.03.07 |
[Oracle] ORA-01031: insufficient privileges 오류 해결 (0) | 2021.08.27 |
23일차(6월 18일)_ JDBC Programming 2 , Pattern (0) | 2021.06.18 |
22일차 (6월 16일)_ JDBC Programming - R = select (0) | 2021.06.17 |
Comments