
MySQL은 MySQL 엔진과 스토리지 엔진으로 구분할 수 있다.MySQL은 다른 DBMS에 비해 구조가 독특하다고 하는데, 문맥상 두 엔진을 나눈 구조 때문인 것으로 보인다.또한 이후 설명하겠지만, 독특한 구조 중 대표적인 것이 플러그인 스토리지 엔진 모델이다.클라이

MySQL의 스토리지 엔진 중 가장 많이 사용되는 InnoDB 스토리지 엔진은 거의 유일하게 레코드 기반의 잠금을 제공하며, 그 때문에 높은 동시성 처리가 가능하고 안정적이며 성능이 뛰어나다.InnoDB 엔진의 구성 요소는 다음과 같다.메모리 영역어댑티브 해시 인덱스언

InnoDB 스토리지 엔진은 트랜잭션과 격리 수준을 보장하기 위해 DML(INSERT, UPDATE, DELETE)로 변경되기 이전 버전의 데이터를 별도로 백업한다.이렇게 백업된 데이터를 언두 로그라고 한다.언두로그는 다음과 같이 사용된다.트랜잭션 보장트랜잭션이 롤백되

트랜잭션은 꼭 여러 개의 변경 작업을 수행하는 쿼리가 조합됐을 때만 의미 있는 개념은 아니다.트랜잭션은 하나의 논리적인 작업 셋에 하나의 쿼리가 있든 두 개 이상의 쿼리가 있든 관계없이 논리적인 작업 셋 자체가 100% 적용되거나 아무것도 적용되지 않아야 함을 보장해주

인덱스에 의존적인 용어는 아니지만, 자주 언급되는 랜덤 I/O, 순차 I/O와 같은 디스크 읽기 방식을 간단히 알아보고 인덱스를 살펴보자.데이터 저장 매체는 컴퓨터에서 가장 느린 부분이고, 데이터베이스의 성능 튜닝은 결국 디스크 I/O를 줄이느냐가 관건일때가 상당히 많

어떤 DBMS든지 쿼리의 실행 계획을 수립하는 옵티마이저는 가장 복잡한 부분으로 알려져 있으며, 옵티마이저가 만들어 애는 실행 계획을 이해하는 것 또한 상당히 어려운 부분이다.하지만 실행 계획을 이해할 수 있어야만 실행 계획의 불합리한 부분을 찾아내고, 더 최적화된 방