본문 바로가기

MySQL

(3)
MySQL - 12장. 쿼리 종류별 잠금 12.1. InnoDB의 기본 잠금 방식 MySQL에서 사용가능한 스토리지 엔진 가운데 InnoDB를 제외한 스토리지는 테이블 잠금을 지원하기 때문에 쿼리가 사용하는 잠금이 복잡하지 않음 InnoDB에서는 쿼리별로 사용하는 잠금이 달라서 복잡함 InnoDB에서 SELECT이 어떤 잠금을 필요로 할까? REPEATABLE-READ 이하의 격리 수준에서는 아무런 잠금을 사용하지 않음 SERIALIZABLE 격리 수준에서는 기본적으로 LOCK IN SHARE MODE를 사용하기 때문에 읽기 잠금을 걸고 읽는다. 그렇기 떄문에 MySQL 서버의 성능이 떨어지게 된다. 잠그는 방법은 읽기 모드와 쓰기 모드 두가지가 있다. SELECT * FROM employees WHERE emp_no=10001 LOCK IN ..
MySQL 아키텍처 보호되어 있는 글입니다.
14장. 데이터 모델링 - Real MySQL 공부하게 된 이유 데이터 모델링은 항상 개발 일정에 쫓겨 급하게 컬럼을 추가하거나 하나의 테이블에 모든 정보를 담아왔다. 하지만 DBMS 사용에 가장 중요한 부분이기 때문에 해당 챕터를 읽게 되었다. 들어가기 전에 서비스 개발 과정 중 데이터베이스 관련 부분을 단계별로 나누면 크게 2가지가 있다. 논리 모델 : 서비스에 어떤 것들이 필요할지 분석하고 그의 집합 간의 관계에 대한 정의 물리 모델 : 시스템으로 어떻게 표현할지 고려하는 것 논리 모델링 모델 정규화 정규화하면 항상 어렵게 생각했는데, 개념을 살펴보기 전에 해당 테이블을 살펴보자! 다음 모델을 보면 어떤 생각이 드는가? "우편번호와 주소" : 한 attribute에 2가지의 정보가 들어있다. attribute를 분리하자 "친구회원들의 회원번호"..