Thread1
Thread2
위와 같이 1, 2 번에 대한 쓰레드가 새벽 1시 10분에 TEST 테이블에 현재 시간(201105300110) insert 작업을 시도합니다.
이처럼 설계가 되어 있는 상황에서 처리가 된다면 Thread1 아니면 Thread2가 TEST 테이블에 insert 작업을 시도하고, 나머지 Thread는 그 뒤에 insert 작업을 수행하기 때문에 unique index error가 발생하게 됩니다. (시간이 PK)
이와 같이 에러를 발생시킴으로써 두 개의 Thread 중 한 개만 정상적인 비지니스 처리를 가능하게 하고 있는데 에러를 발생시키지 않고, 처리를 할 수 있는 방법이 있을까요?
가령 Thread1번이 insert 작업을 수행하고 있다면 Thread2번은 앞에 1번이 이미 insert 작업을 했으니 난 insert를 안 하면 되겠다라는 방법 등.
의견 부탁 드리겠습니다.