8.7 인조 식별자 채번

  • 인조 식별자는 인스턴스를 유일하게 식별할 수 있도록 하는 것이 주요 역할이므로 무의미한 일련번호를 사용하는 것이 바람직하다.


인조식별자 종류

  • 하나씩 증가하는 엄격한 변호
    ( 하나씩만 증가해야 하며 빈 번호가 존재하면 안 되는 업무 요건은 생각보다 많지 않다.)
    ( 그렇게 관리되길 선호히는 것, 숫자가 차례로 증가하지 않으면 심리적으로 불완전하다고 느끼는 것이다.)
  • 단순히 인스턴스를 식별할 수 있도록 유일한 번호


일련번호를 채번하는 방법

오라클 시퀀스(Sequence)를 사용히는 방법
  • 장점: 가장 간편함
    • dbms가 채번 로직을 관리하므로 락발생 최소화
    • 빠르게 채번


채번 엔터티를 사용하는방법
  • 장점 : 결번이 발생하지 않도록 채번 할수있고 체제에 따라채번할수있다
  • 단점 : 엔터티를 별도로 관리해야 한다.
    • 변호가 중복되는 것을 방지하기 위해 For Update 구문을 사용 ( Lock 발생으로 채번속도가 느려짐)


쿼리에서 직접 +1을 해 채번하는방법
  • 장점 : 채번 엔터티를 무한정 생성할수 없는경우 사용
  • 단점 : 최대값을 구하기 위해 index desc 힌트를 사용
    • 중복 값을 방지하기 위해 For Update 구문을 사용
  • 채번성능보다는 결번 방지나 체계에 따른 채번이 우선일 때 채번 엔터티를 사용
  • 채번성능이 우선일 때 시퀀스(Sequence) 사용