본문 바로가기

개발자: 지식 정리/CS 지식: DB4

MySQL InnoDB 락 / 데드락 해결 공유 InnoDB MySQL InnoDB란 다른 스토리지 엔진과 다르게 InnoDB에서는 잠금, Lock을 제공해서 동시성을 보장해준다. InnoDB Lock 자체적인 잠금을 가지고 있지 않은 MyISAM이나 Memory 스토리지 엔진과 달리, InnoDB 엔진은 자체적인 레코드 기반의 잠금 기능을 제공하여 동시성을 보장한다. Lock(잠금) : 서로 다른 작업에서 같은 자원을 동시에 필요로 할 때 자원 경쟁이 일어나는데, 이때 동시성을 보장하기 위한 기능이다. InnoDB Lock 종류 Shared Lock & Exclusive Lock innoDB storage engine은 기본적으로 Row-level lock을 사용한다. lock을 걸때는 query의 목적에 따라서 두가지 Type의 Lock을 사용한다.. 2022. 9. 22.
MySQL 서버(MySQL 엔진, InnoDB 스토리지 엔진) 정리 MySQL 서버 MySQL 서버 = MySQL 엔진 + 스토리지 엔진 MySQL 엔진: 클라이언트로부터 오는 요청 처리(요청된 SQL 문장을 분석, 최적화, ...)를 담당. 서버 접속 및 쿼리 요청 처리하는 커넥션 핸들러, SQL 파서, 전처리기, 쿼리 최적화를 옵티마이저로 이루어짐. SQL 처리를 위한 두뇌역할 스토리지 엔진: 실제 데이터를 디스크 스토리지에 저장하거나 조회하는 부분 담당. 실질적인 데이터 저장 및 조회 역할 담당. InnoDB 스토리지 엔진 MySQL 이 제공하는 스토리지 엔진 중 유일하게 레코드 기반 락(Lock)을 제공하며 이로 인해 높은 동시성 처리가 가능하며 안정적이다. MySQL 스토리지 엔진 중 가장 많이 사용된다고 한다. InnoDB 스토리지 엔진 특징 테이블은 Prim.. 2022. 9. 22.
MySQL 데드락 관련 링크 최근 업무 중 발견한 데드락 현상... 관련하여, 참고한 문서 링크들이다. 후에 잃어버리지 않도록 저장! MySQL InnoDB의 Lock 관련 공식 문서 LockType 관련 글 https://dev.mysql.com/doc/refman/8.0/en/innodb-locking.html#innodb-next-key-locks Lock mode (shared lock(S lock), exculsive lock(X lock)) 관련 글 https://mariadb.com/kb/en/innodb-lock-modes/ AUTO_INCREMENT Lock Modes 관련 글 https://mariadb.com/kb/en/auto_increment-handling-in-innodb/ 트랜잭션 관련 참고 글 http.. 2022. 9. 7.
(SQL) 키 - 슈퍼키, 후보키, 기본키, 외래키 슈퍼키 테이블에서 각 행을 유일하게 식별할 수 있는 하나 또는 그 이상의 속성들의 집합이다. 슈퍼키는 유일성만 만족하면 슈퍼키가 될 수 있다. 아래 사원 Table에서 슈퍼키는 (사원 번호), (생년월일), (사원 번호, 사원 이름), (사원 번호, 성별) 등이 될 수 있다. 겹치는 이름이 있기에 (사원 이름) 은 하나의 행(사원)을 식별할 수 있는 슈퍼키가 될 수 없다. 하지만 똑같은 (사원 번호)를 가지는 사원을 존재하지 않으므로, 속성 (사원 번호, 사원 이름)의 조합은 하나의 행(사원)을 식별할 수 있는 슈퍼키라고 할 수 있다. 사원 번호 사원 이름 성별 주소 1111 김아무개 남 서울시 은평구 ☆☆아파트 1112 이아무개 여 서울시 양천구 ♢♢빌라 1113 김아무개 여 서울시 광진구 ♡♡빌라 후.. 2021. 11. 16.
반응형