2013-08-06 2 views
0

최대 절전 모드를 사용하여 파일의 레코드를 mysql DB로로드하는 스크립트를 작성하고 있습니다. 트랜잭션을 사용하여 1000 일괄 처리 레코드를 처리 해요, 레코드가 이미 전체 트랜잭션을 롤백 할 DB에 이미있는 경우 삽입이 실패합니다. 레코드가 롤백 된 트랜잭션에서 처리되는 것을 알 수있는 방법은 있습니까?최대 절전 모드 실패 트랜잭션 정보

또한이 시나리오를 고려해 볼 때 더 좋은 방법이라고 생각하십니까? 스크립트는 매일 실행되며 한 번만 실행되며 파일에는 일반적으로 매일 약 2 억 5 천만 개의 레코드가 저장됩니다.

답변

0

StatelessSession API를 사용하고 ConstraintViolationException을 확인할 수 있습니다. 롤백 트랜잭션없이 실패 레코드를 버릴 수 있습니다.

+0

나는 실패 기록을 파기하고 싶지 않다. 세부 사항을 파일에 저장하고 싶다. 따라서 어떤 레코드가 trasaction에서 실패했는지 알 수있는 방법이 필요하다. – Aryan

+0

'ConstraintViolationException'과 catch 블록 로그 확인 실패한 기록. –

관련 문제