- 락(Lock)이란?
- Database의 트랜잭션 처리의 순차성을 보장하기 위한 방법.
- 레코드(Record)란?
- Database의 행 부분. Tuple이 레코드다.
레코드 기반의 잠금 = 데이터의 튜플(인덱스)을 기준으로 Lock을 설정하는 행위.
→ 따라서 레코드 기반의 잠금을 수행한다면, 높은 동시성 처리가 가능하며 안정적이며 성능이 뛰어나다.
*만약 TABLE
의 Index
가 정의되지 않았다면?
MySQL :: MySQL 8.0 Reference Manual :: 15.7.1 InnoDB Locking
MySQL :: MySQL 8.0 Reference Manual :: 15.7.1 InnoDB Locking
MySQL 8.0 Reference Manual / ... / The InnoDB Storage Engine / InnoDB Locking and Transaction Model / InnoDB Locking This section describes lock types used by InnoDB. Shared and Exclusive Locks InnoDB implements standard row-level locking w
dev.mysql.com
‘레코드 기반 락’의 장점과 단점.
- 장점
- 높은 동시성 처리가 가능하며 안정적이며 성능이 뛰어나다.
- 단점
- Lock을 할
Index
를 잘못 설정하면 불필요하게 많은 레코드에 락이 걸리게 된다.
- Lock을 할
*단점 예시
MySQL 트랜잭션과 락 - InnoDB 락, 이렇게 동작한다!
MySQL 트랜잭션과 락 - InnoDB 락, 이렇게 동작한다!
트랜잭션과 락(Transaction, Lock) 트랜잭션과 락 트랜잭션 : 논리적인 작업 단위로 전부 처리되거나 처리되지 않는 (commit/rollback) 원자성을 보장하기 위한 기능이다. 락 : 서로 다른 작업에서 같은 자
jeong-pro.tistory.com
참고 서적 : RealMySQL
인용 블로그 : https://jeong-pro.tistory.com/
'개발 > 백앤드' 카테고리의 다른 글
[0] [개인 공부] 스레드 세이프티(Thread safety) (0) | 2024.03.26 |
---|---|
[2] 인X타그램에서 게시물 작성 시 어떤일이 일어날까? - multipart/form-data편 (0) | 2024.03.19 |
[1] 인X타그램에서 게시물 작성 시 어떤일이 일어날까? - multipart/form-data편 (1) | 2024.03.17 |
Intellij JSP file upload 문제 해결 (0) | 2022.09.01 |
No suitable driver found for jdbc:postgresql://localhost:5432/database 에러 해결 (0) | 2022.08.31 |