이것은 단지 용어 일 수 있습니다. 'AUTOINCREMENT'는 레코드 '103'이 레코드 '102'와 '104'사이에 생성됨을 의미합니다. 클러스터 된 환경에서는 시퀀스의 경우가 반드시 그런 것은 아닙니다. 하나의 노드는 '100', '101', '102'를 삽입 할 수 있으며 다른 노드는 '110', '111', '112'를 삽입하므로 레코드가 '순서가 맞지 않습니다. 물론 '시퀀스'라는 용어의 의미는 같습니다.
시퀀스 모델을 따르지 않기로 선택하면 잠금 및 직렬화 문제가 발생합니다. 다음 값이 무엇인지 결정하기 전에 인서트가 다른 인서트의 커밋/롤백을 기다리도록 강요합니까? 아니면 트랜잭션이 롤백되면 키에 간격이 생기는 것을 받아들입니까?
누군가가 해당 필드에 특정 값을 가진 행을 삽입하려는 경우 (즉, 허용되었거나 기본처럼 작동하는지) 다른 사람이 해당 필드를 업데이트하려고하는 경우 수행 할 작업에 대한 문제가 있습니다 . 누군가 '101'을 삽입하면 자동 증가가 '102'로 점프합니까? 아니면 중복 값을 시도 할 위험이 있습니까?
IMP 유틸리티와 직접 경로 쓰기 및 하위 호환성에 영향을 미칠 수 있습니다.
나는 그것을 할 수 없다는 말은 아닙니다. 그러나 결국 누군가가 그것을 보았고 그들이 다른 곳에서 더 나은 개발 시간을 보낼 수 있다고 판단했습니다.
편집 추가 : 오라클 12.1에서
는 IDENTITY 열에 대한 지원이 추가되었습니다.
"식별 열에는 각 후속 INSERT 문에 대한 시퀀스 생성기에서 증가 또는 감소하는 정수 값이 할당됩니다.이 시퀀스 생성기를 구성하려면 identity_options 절을 사용할 수 있습니다."
https://docs.oracle.com/database/121/SQLRF/statements_7002.htm#CJAHJHJC
깨진 링크 : 17-06-2014 – guisantogui
업데이트 됨 -주의 해 주셔서 감사합니다. –