책/Real MySql
-
innoDB의 버퍼풀과 리드어헤드책/Real MySql 2021. 8. 12. 09:32
디스크와 인덱스 페이지디스크는 데이터를 영구적으로 저장하는 물리적 장치이다. 데이터베이스는 디스크에 데이터를 저장하고 필요할 때 이를 읽어 메모리로 가져온다. MySQL InnoDB는 데이터를 페이지 단위로 관리한다. 페이지는 데이터베이스의 논리적 저장 단위로, 일반적으로 16KB 크기를 가진다. 하나의 페이지에는 여러 레코드가 저장될 수 있다. 인덱스는 특정 컬럼에 대한 데이터의 위치를 빠르게 찾기 위해 사용하는 구조이다. 인덱스는 디스크에 저장되지만, 인덱스를 이용한 데이터 검색은 페이지 단위로 이루어진다. 인덱스를 통해 관련 페이지를 찾고, 해당 페이지를 메모리로 불러와서 필요한 데이터를 읽는다. 버퍼 풀(Buffer Pool)InnoDB의 버퍼 풀은 메모리 내에서 동작하는 데이터베이스 성능 최적화..
-
인덱스 개수가 늘어날수록 InnoDB 버퍼를 위한 메모리가 더 많이 필요한 이유책/Real MySql 2021. 8. 3. 09:06
InnoDB는 MySQL의 기본 스토리지 엔진으로, 데이터베이스 성능을 최적화하기 위해 다양한 기법을 사용한다. 그중 하나가 버퍼 풀(Buffer Pool)이다. 버퍼 풀은 디스크 I/O를 최소화하고, 데이터베이스의 응답 시간을 단축시키는 중요한 역할을 한다. InnoDB 버퍼 풀(Buffer Pool)의 역할버퍼 풀은 디스크에 저장된 데이터와 인덱스 페이지를 메모리에 캐싱하여, 자주 사용되는 데이터에 빠르게 접근할 수 있도록 한다. 이를 통해 디스크 접근을 줄이고, 데이터베이스 성능을 향상시킨다. 버퍼 풀의 주요 역할은 다음과 같다:데이터 페이지 캐싱: 자주 접근하는 데이터 페이지를 메모리에 유지하여, 디스크 I/O를 줄인다.인덱스 페이지 캐싱: 자주 사용되는 인덱스 페이지를 메모리에 캐싱하여, 인덱..
-
InnoDB 인덱스와 클러스터링 인덱스책/Real MySql 2021. 5. 26. 16:52
InnoDB는 MySQL의 저장 엔진 중 하나로, 높은 성능과 데이터 무결성을 제공한다. InnoDB의 인덱스 구조와 클러스터링 인덱스에 대해 알아보자. InnoDB 인덱스 구조InnoDB에서 인덱스는 B-tree 구조를 사용한다. B-tree는 데이터베이스 인덱싱에서 널리 사용되는 구조로, 데이터를 정렬된 상태로 유지하고 검색, 삽입, 삭제 작업을 효율적으로 수행할 수 있도록 돕는다.B-tree 인덱스B-tree 인덱스는 여러 노드로 구성되며, 각 노드는 다음과 같은 구성 요소를 포함한다:루트 노드(Root Node): 트리의 최상위 노드로, 데이터베이스가 인덱스 검색을 시작하는 지점이다.내부 노드(Internal Node): 루트 노드와 리프 노드 사이에 위치한 노드로, 자식 노드로의 포인터를 포함..