DB (2) 썸네일형 리스트형 [MySql] 동시성 테스트 테스트 조건상품 재고가 총 10개 있고, 2명이 동시에 1개씩 차감 요청을 보냈을 때최종적으로 8개가 남는가? 이 조건을 기준으로, 동시성 상황에서 수량 차감을 정확하고 안전하게 처리하는 방법을 테스트해 보겠습니다.대표적인 세 가지 락 방식을 정리하고, 각각 테스트 코드로 검증해봤습니다. 1. 비관적 락 (Pessimistic Lock)쉽게 말하면“다른 사람이 나 건드리지 못하게 무조건 잠가버려!” 특징가장 안정적인 방식동시 접근이 불가능하므로 충돌 없음다만 성능 상의 대기 시간이 발생할 수 있음적용 방법 (JPA + @Lock(PESSIMISTIC_WRITE))SeatRepository@Lock(PESSIMISTIC_WRITE)Optional findByProduct(Product product); .. [MySQL] 쿼리 성능 최적화 기록 점점 회원수가 늘어나고, 데이터가 증가하면서 쿼리의 실행 속도가 점차 느려지는 현상을 발견하게 되었습니다.이에 따라 SQL 쿼리 튜닝이 필요하다고 판단했고, 그 과정을 정리해보려고 합니다. (MySql version : 8.0.32, InnoDB)1. 성능 저하 쿼리 분석SELECT o.order_date_time , od.ticket_id , od.cancel_yn , ou.user_name , pd.products_name , pt.time_date , (SELECT oh.ticket_id FROM orders_history oh WHERE oh.ticket_id = o.ticket_id GROUP BY oh.ticke.. 이전 1 다음