DB2 MySQL의 기본 트랜잭션 격리수준은 왜 Repeatable Read일까? 트랜잭션 격리 수준을 공부하다가 문득 궁금증이 생겼습니다.Oracle, PostgreSQL의 경우에는 기본 격리 수준이 Read Committed인데, 왜 MySQL은 Repeatable Read가 기본 격리 수준일까요?과거 MySQL의 복제 작업과거 MySQL은 Master -> Replica 복제 작업 시 Statement-Based Replication(SBR) 방식을 사용했습니다. SBR 방식이 무엇일까요? 그림을 보면서 이해해봅시다.SBR 방식은 쿼리문을 그대로 복제 후 실행하는 방식을 의미합니다. 동작방식에 대해 조금 더 구체적으로 알아볼까요? 1) Insert, Update 등 쿼리문이 날아오면, 해당 쿼리 실행 후 MasterDB의 Binary Log에 실행 쿼리가 기록됩니다2) Binar.. 2025. 12. 26. 커버링 인덱스 vs 클러스터링 인덱스 이번에 성능 개선을 하려고 커버링 인덱스를 적용했었는데요, Optimizer가 커버링 인덱스 대신, 클러스터링 인덱스를 선택하더라고요...? 무조건 커버링 인덱스가 빠르지!라는 생각을 가지고 있었는데, 잘못된 생각이더라고요. 그래서 이번 포스팅에서는 커버링 인덱스와 클러스터링 인덱스를 비교해보려고 합니다. 우선 커버링 인덱스를 적용해야겠다고 생각한 상황은 다음과 같습니다. - Client 측에서 5초 주기로 지속적인 통계 조회 요청을 합니다.- API가 많이 호출될 것이라고 생각했고, 성능 향상을 극한으로 하면 좋지 않을까?라는 생각을 했습니다.@Entity@Getter@NoArgsConstructor(access = AccessLevel.PROTECTED)public class OrganizationS.. 2025. 11. 17. 이전 1 다음