본문 바로가기

MySQL

(2)
MySQL의 주요 처리 방식 1. 풀 테이블 스캔 풀테이블 스캔이란? 인덱스를 사용하지 않고 테이블의 데이터를 처음부터 끝까지 읽어서 요청된 작업을 처리하는 작업 MyISAM 스토리지 엔진 풀 테이블 스캔시 디스크로부터 페이지를 하나씩 읽어 온다. InnoDB 특정 테이블의 연속된 데이터 페이지가 읽히면 백그라운드 스레드에 의해 리드 어헤드(Read ahead) 작업을 자동으로 시작한다. 이 경우 필요한 데이터를 미리 읽어 두었기 때문에 좀 더 빠른 성능을 보장할 수 있다. + Read ahead? 어떤 영역의 데이터가 앞으로 필요해지리라는 것을 예측해서 요청이 오기 전에 미리 디스크에서 읽어 InnoDB의 버퍼 풀에 가져다 두는 것 2. ORDER BY 처리, Using filesort 인덱스를 사용한 정렬 이미 정렬된 기준이 인..
DB 실행 계획 분석 EXPLAIN - 2 Intro 실행 계획 분석 1에 이어서 다른 컬럼을 살펴보자. 5. key 칼럼 실행계획에서 사용할 인덱스 정보를 나타내는 컬럼이다. 인덱스를 사용하지 못하는 경우에는 NULL이 표시된다. 사용할 인덱스 정보를 통해서 실행 쿼리가 어떤 인덱스를 사용해 최적화를 이루는지 알 수 있게 한다. 6. ken_len 칼럼 key로 사용할 인덱스가 단일로 사용될 수도 있지만 복합적으로 여러개의 인덱스를 사용할 수 있다. key_len을 통해서 인덱스의 각 레코드에서 몇 바이트까지 사용했는지를 알 수 있다. 7. ref 칼럼 접근 방식(type)이 ref 방식이면 참조조건으로 어떤 값을 이용하는지를 보여주는 칼럼이다. +) 만약 이 값이 func 으로 표시된다면 조인 칼럼 타입이 일치하지 않아서 추가적인 가공처리(타..