본문 바로가기
반응형
SMALL

분류 전체보기120

InnoDB Storage Engine 상세 InnoDB Storage Engine 심층 분석InnoDB는 MySQL의 기본 스토리지 엔진입니다.ACID 트랜잭션과 Crash Recovery, 외래키(Foreign Key) 지원이 특징이며,대규모 트래픽 시스템에서도 견디도록 설계되어 있습니다.1. InnoDB 아키텍처 개요+---------------------------+| Connection Threads |+---------------------------+| Query Processing Layer |+---------------------------+| InnoDB Storage Engine || ├── Buffer Pool || ├── Transaction System || ├── Loc.. 2025. 4. 18.
InnoDB Buffer Pool 내부 구조 (Chunk, Instance 분리 등) InnoDB Buffer Pool 내부 구조 심층 분석InnoDB Buffer Pool은 InnoDB 스토리지 엔진의"메모리 기반 캐시 시스템" 입니다.디스크 I/O를 줄여 성능을 극대화하는 데 핵심 역할을 합니다.MySQL 5.5 이후로는 멀티 인스턴스 분할이 지원되었고,5.7 이후에는 Chunk 기반 동적 리사이징까지 가능해졌습니다.1. InnoDB Buffer Pool 기본 개념역할: 디스크에 저장된 테이블 데이터와 인덱스(Primary + Secondary Index)를 메모리에 적재하여 빠르게 접근구성:테이블/인덱스 데이터 Page(16KB 단위)Undo 데이터Adaptive Hash Index (AHI)Insert Buffer (Change Buffer)Doublewrite Buffer (일부.. 2025. 4. 18.
MySQL 프로세스 및 메모리 구조 MySQL 프로세스 및 메모리 구조 심층 분석MySQL 서버는 기본적으로"프로세스 기반 구조" 와 "메모리 관리 아키텍처" 를 따릅니다.MySQL은 크게 보면 다음과 같이 나뉩니다:프로세스(Threads) 구조메모리 구조 (Global Memory, Per-thread Memory, Buffer Pool 등)1. MySQL 프로세스 구조MySQL 서버 프로세스는 단일 프로세스, 멀티 스레드 모델입니다.1.1 주요 스레드 종류 스레드 설명 Connection Thread각 클라이언트 연결마다 생성되는 스레드 (Thread-per-Connection 모델)Thread Pool (옵션)대량 접속 처리용. 스레드 수를 제한하여 관리Query ThreadSQL 파싱, 최적화, 실행 등을 담당IO Thread복제(.. 2025. 4. 18.
Optimizer Hints 상세 매뉴얼 (USE INDEX, FORCE INDEX, STRAIGHT_JOIN 등) MySQL Optimizer Hints 완벽 가이드Optimizer Hints는MySQL 옵티마이저에게 힌트를 주어 최적화 결정을 유도하거나 강제하는 기능입니다.쿼리 안에 명시적으로 힌트를 주어 원하는 실행 계획을 이끌어낼 수 있습니다.1. Optimizer Hint 기본 문법SELECT /*+ HINT */ .../*+ HINT */ 형태로 SQL 주석 안에 작성일반 주석(/* */)과는 다름. 반드시 + 기호가 있어야 함!예시SELECT /*+ NO_INDEX(emp) */ * FROM employees emp WHERE emp.salary > 10000; → employees 테이블에 인덱스를 사용하지 말라는 힌트2. 대표 Optimizer Hints 종류2.1 USE INDEX특정 인덱스를 사용하.. 2025. 4. 18.
Query Layer 최적화 과정 (Optimizer 내부 동작) MySQL Query Layer 최적화 과정 (Optimizer 내부 동작)MySQL 옵티마이저(Optimizer)는SQL을 실행하기 위한 최적의 경로(Execution Plan)를 찾는 핵심 엔진입니다.성능에 직접적인 영향을 주기 때문에 심층 이해가 매우 중요합니다.1. Query 최적화 전체 프로세스1. 파싱 (Parsing)2. 쿼리 재작성 (Query Rewrite)3. 최적화 (Optimization)4. 실행 계획 생성 (Execution Plan)5. 실행 (Execution) → 오늘 포커스는 2~4단계인"쿼리 재작성" → "최적화" → "실행 계획 생성" 입니다.2. 쿼리 재작성 (Query Rewrite)목표: 쿼리를 더 최적화하기 좋은 형태로 변환주요 동작서브쿼리 → 조인 변환 (Su.. 2025. 4. 18.
MySQL 서버 구조 (Connection Layer, Query Layer, Storage Engine Layer) MySQL 서버 구조: 3개 레이어 심층 분석MySQL은 Layered Architecture를 기반으로 설계되어 있습니다.서버 부분과 스토리지 엔진 부분이 깔끔히 분리되어 있어, 확장성과 유연성을 가집니다.1. Connection Layer (연결 레이어)역할: 클라이언트와의 세션(Session) 관리 담당주요 기능Connection ManagementTCP/IP, Unix Socket 등을 통해 클라이언트 연결을 관리연결 당 스레드(Thread-Per-Connection) 생성Thread Handling각 연결마다 별도의 스레드 할당연결된 스레드는 쿼리를 처리하고, 결과를 반환Authentication로그인 시 사용자 인증 (user, password, host, plugin 방식)Connection.. 2025. 4. 18.
LIST