# gapLock

1개의 포스트
post-thumbnail

MYSQL 락과 트랜잭션

사보정 프로젝트를 마무리하고 나서 다른 프로젝트에 투입되면서 프로젝트에서 사용하여 저번에 못다한 MYSQL에서 사용하는 LOCK에 대해서 알아보고 왜 MYSQL에서 Repeactable read 격리수준에서 Phantom Read 문제가 발생하지 않는 이유에 대해서도 알아보자. lock 기존에 Oracle에서 발생할 수 있는 lock에 대해서 배웠으나 MySQL에서는 다르게 작용하는 부분이 있어서 작성하게 되었다. MySQL에서 사용되는 락(LocK)은 크게 MySQL 엔진 레벨의 락과 스토리지 엔진 레벨의 락으로 나눠볼 수 있다. mysql 엔진 레벨 락 글로벌 락 모든 테이블에 잠금을 거는 락이며 "FLUSH TABLES WITH READ LOCK" 명령으로 락을 걸 수 있다. > 내용만 바라보면 원자성 제공을 위하다기 보다는 일시적으로 mysql 잠그려는 느낌이 강하다. 뒤에 binlog와 복제에 대해서 자세히 다룰 예정이지만

2023년 5월 13일
·
0개의 댓글
·