반응형

백엔드 2

[DB MySQL] 옵티마이저(Optimizer)란? INDEX EXPLAIN 실행

옵티마이저(Optimizer)는 SQL 쿼리를 실행할 때 가장 효율적인 실행 계획을 선택하는 MySQL의 내부 엔진입니다.즉, MySQL이 쿼리를 실행할 때 "어떤 인덱스를 사용할지", "어떤 방식으로 데이터를 검색할지" 등을 결정하는 역할을 합니다.쉽게 말해, 옵티마이저는 쿼리 성능을 최적화해주는 엔진입니다.EXPLAIN 실행 시 type이 ALL로 나오는 경우EXPLAIN SELECT * FROM users WHERE age > 30;   - type = ALL이란?"풀 테이블 스캔(Full Table Scan)"이 발생한 상태입니다.즉, MySQL이 테이블의 모든 행을 검사하면서 age > 30 조건을 만족하는 데이터를 찾고 있습니다.인덱스를 사용하지 않기 때문에 성능이 매우 비효율적입니다.- "A..

DB 2025.03.20

[DB] Disk I/O란?

Disk I/O(Input/Output, 디스크 입출력)는 디스크에서 데이터를 읽거나 쓰는 작업을 의미합니다.즉, 디스크에서 데이터를 가져오거나 저장하는 모든 과정이 Disk I/O라고 할 수 있습니다.1. Disk I/O의 기본 개념컴퓨터에서 데이터를 읽고 쓰는 방식은 크게 메모리(RAM)와 디스크(SSD/HDD) 두 가지가 있습니다.- 메모리(RAM)에서 읽기/쓰기속도가 매우 빠름 (나노초(ns) 단위) 전원이 꺼지면 데이터가 사라짐(휘발성)- 디스크(HDD/SSD)에서 읽기/쓰기 (Disk I/O)속도가 느림 (마이크로초~밀리초 단위) 데이터를 영구적으로 저장 (비휘발성)디스크는 메모리에 비해 속도가 훨씬 느리기 때문에, Disk I/O가 많아지면 성능이 저하됩니다.즉, 데이터를 디스크에서 읽어오는..

DB 2025.03.20
반응형