이게 배타락 / synchronized도 안 건 상태로 돌린건데 초당 46.2개를 처리하고
이게 배타락(Pessimistic Lock)을 걸어서 동시성을 제어한건데 초당 53.4개를 처리함
동시에 1,000개를 처리하는 걸로 테스트 했는데 락을 건 로직이 아무것도 없는 로직보다 빠르게 처리될 수가 있나...?
여러번 시도해도 비슷한 수치로만 나옴 ㅠㅠㅠ
이게 배타락 / synchronized도 안 건 상태로 돌린건데 초당 46.2개를 처리하고
이게 배타락(Pessimistic Lock)을 걸어서 동시성을 제어한건데 초당 53.4개를 처리함
동시에 1,000개를 처리하는 걸로 테스트 했는데 락을 건 로직이 아무것도 없는 로직보다 빠르게 처리될 수가 있나...?
여러번 시도해도 비슷한 수치로만 나옴 ㅠㅠㅠ


오카방 와서 코드 줘봐
혹시 해결됨? 이유 뭐임?
지금 대기형한테 코드 보여주고 있어 잠시만
배타락 안건 코드는 @Transactional도 지워버려서, 내부에서 루프를 돌면서 insert 하는 부분이 매번 커밋돼버림 그래서 배타락 안건게 더 느렸던거
내가 등신이어써...
고마워 대기형!
그렇게 한방에 많이 넣을거면 batch insert도 고려해볼 수 있어 일반 insert에 비해 압도적으로 빠름
mysql 연결 문자열에 rewriteBatchedStatements=true 옵션 참고
고마워ㅠㅠㅠㅠㅠ 더 공부해서 올게 형이 말해준 부분도 참고해서 써볼 수 있도록 할게
아 근데 jpa 쓸땐 안된다 벌크 insert는 스프링 배치 쓸때나 써라 ㅋㅋ
오키오키!!
https://jaehun2841.github.io/2020/11/22/2020-11-22-spring-data-jpa-batch-insert
요거보니까
jpa에서도 작동하는거 같은디 identity generate 아니면
맞아 근데 보통은 자동증가 키값 쓰니까
궁금하네