생계/Oracle
DB를 사용한 채번 방식 알아보자
돌고래트레이너
2020. 4. 30. 21:16
순차적으로 증가하는 번호를 만드는 방벙에 대해서 알아보자
1. 채번테이블
채번가진 테이블
create table chaebun(
seq number
constraint primary key (seq) )
장점 : 중복 x (pk 제약조건을 걸어놓았다면)
단점 : 성능저하 (채번값수정 ->채번값입력 -> commit) lock, 경합 발생
관리포인트 증가
2. 최대값 +1
insert into
select max(seq) +1 from 주문
장점 : 빠르다. 채번만을 위한 오브젝트를 따로 만들 필요없어 관리가 용이
단점 : 중복가능 (lock 을 사용하지 않는다면)
3. 시퀀스
오라클에서 제공하는 시퀀스 오브젝트.
장 : 빠름. lock X, 중복 없음
단 : 관리항목 증가. 오라클 시퀀스의 특성을 이해하지 못하면 예상치 못한 결과 나올수도
- 시퀀스 오브젝트 생성시 고려 요소
: 유일하기만 하면 되는가? => no order, cache
순서가 반드시 중요한것인가? => order
중간중간 누락이 되어도 괜찮은가 ? => cache
재활용 될수 있는가 ? => cycle
순서도 보장, 누락도 허용안되 => order, no cache
반응형