혹시 충돌같은 거 생기지 않을까요? 자동으로 결정될까요?

· 2009-06-17 (수) 12:36:21 · 1285 · 1
innodb 테이블에서 auto_increment 컬럼이 primary 키로 지정되어 있을 경우,

insert 문을 하나의 트랜잭션으로 실행한다면 말입니다.....

commit가 끝나기도 전에 그 테이블에서 다른 사용자가 insert를 시도할 경우에

진행중인 트랜잭션의 auto_increment 을 고려해서 key 값이 자동으로 결정될까요?

혹시 충돌이나 그런 건 생기지 않을까요?

여러분의 의견은 어떠세요?

오라클의 myism에서는 중복되지 않는 걸로 알고 있는데요.....


480709dcee634&filename=20080327160733295.jpg








2.jpg



4.jpg





|

댓글 1개

아마 문제 없을 거라고 생각합니다.

사실 DB관리 프로세스가 없는 일반 ISAM 방식의 DB에서는 키중복 에러가 종종 발생합니다.
동시에 INSERT 할때 이것을 콘트롤할 수 있는 프로세스가 없기 때문입니다.
그래서 이런 파일db 에서는 가끔식 auto_increment 로 유니크한 값을 잡지 않고 날짜시간분&천분의일초..(200906181555001...) 같은 값으로 처리하는 경우도 있습니다..

그러나 오라클, mySQL 처럼 서버용 DB에서는 바로 이 DB가 이런것을 컨트롤해 줍니다.
즉 동시에 들어오면 너가 먼저 앞번호 가지고, 너는 두번째 번호를 가져라... 이런 식이지요...

확실한 것은 아니지만 경험상 그럴거라고 생각한 것입니다...^^
댓글을 작성하시려면 로그인이 필요합니다.

자유게시판

202,947건
+
제목 글쓴이 날짜 조회
09-06-17 조회 1,555
09-06-17 조회 1,260
09-06-17 조회 1,896
09-06-17 조회 1,375
09-06-17 조회 1,247
09-06-17 조회 1,238
09-06-17 조회 1,250
09-06-17 조회 1,321
09-06-17 조회 1,254
09-06-17 조회 1,286
09-06-17 조회 1,213
09-06-17 조회 1,194
09-06-17 조회 1,218
09-06-17 조회 1,319
09-06-17 조회 1,239
09-06-17 조회 1,306
09-06-17 조회 1,192
09-06-17 조회 1,326
09-06-17 조회 1,210
09-06-17 조회 1,392