- 학습 목표
- MySQL 의 기본 기능
- Transaction (매우매우 중요)
- Isolation Level
- Database Lock
- 글로벌락
- flush tables with read lock;
- DB 전체의 락을 생성 (read 만 가능)
- 데이터베이스 범위도 적용됨
- MySQL dump 시 내부적으로 적용
- 테이블락
- lock tables {tableName} read; → read 만 가능
- lock tables {tableName} write; → read 도 불가능
- 특정 테이블의 락을 생성
- InnoDB 의 경우 트랜잭션이 있기 때문에 사용하지 않음
- 네임드락
- 상황에 맞는 다양한 락 생성(범위는 글로벌락과 같음), 뮤텍스와 유사
- select get_lock(’wanted’, 10);
- select is_free_lock(’wanted’);
- 네임드락의 사용 여부 반환(true/false)
- select release_lock(’wanted’);
- 분산 시스템에서 다양한 활용 가능(강사의 개인적인 생각)
- 메타데이터락
- 레코드락
- 오토인크리먼트락
- 면접질문
- 격리수준
- READ UNCOMMITTED
- READ COMMITTED
- REPEATABLE READ
- UPDATE 시 스냅샷의 내용을 수정하는지 디스크의 내용을 수정하는지 찾아보기
- SERIALIZABLE