2025/03/18 3

[업무에 바로 쓰는 SQL 튜닝] 4. 악성 SQL 튜닝으로 초보자 탈출하기

양바른 님의 "Real MySQL" 책을 정리한 포스팅 입니다.1. 준비실무적인 튜닝 절차 이해하기1. 현황 파악결과 및 소요 시간 확인실행계획 분석 ("EXPLAIN ANALYZE")단계별 소요 시간 확인 ("SHOW PROFILE FOR QUERY")쿼리 비용 확인 ("SHOW STATUS LIKE 'Last_query_cost'")조인/서브쿼리 구조 확인 ("EXPLAIN")동등/범위 조건프라이머리 키나 유니크 키로 사용되는 지 확인range로 처리되는지 확인ICP를 활용할 수 있는지 확인 2. 튜닝 방향 판단 및 개선 2. SQL 문 단순 수정으로 착한 쿼리 만들기기본키 변형explain select * from 사원 where substring(사원번호,1,4) = 1100 and length(..

Database/Mysql 2025.03.18

[업무에 바로 쓰는 SQL 튜닝] 2. SQL 튜닝 용어를 직관적으로 이해하기

양바른 님의 "Real MySQL" 책을 정리한 포스팅 입니다. 1. 물리 엔진과 오브젝트 용어SQL 프로세스 용어파서사용자가 요청한 SQL 문을 쪼개 최소 단위로 분리하고 트리를 만듬트리를 만들면서 문법 검사를 수행함 전처리기파서에서 생성한 트리를 토대로 SQL 문에 구조적인 문제가 없는지 확인SQL 문에 사용된 오브젝트들이 실직적으로 존재하는지, 접근 권한은 부여되어 있는지 확인 옵티마이저전달된 파서 트리를 토대로 연산 과정을 단순화함 (필요하지 않은 조건을 제거함)실행 계획 수립 (테이블 접근 순서, 인덱스 사용 유무, 임시테이블 사용 유무) 엔진 실행기수립된 실행 계획을 참고하여 스토리지 엔진에서 데이터를 가져옴읽어온 데이터를 정렬하거나 조인불필요한 데이터는 필터링 DB 오브젝트 용어기본키특정 행..

Database/Mysql 2025.03.18

[업무에 바로 쓰는 SQL 튜닝] 1. MySQL과 MariaDB 개요

양바른 님의 "Real MySQL" 책을 정리한 포스팅 입니다. 1. 현황MySQL1995년 오픈소스로 배포된 DBMS2010년 오라클(Oracle)에 인수됨상용 버전과 무료 버전으로 구분됨장점: 대용량 데이터 처리, 높은 가용성, 안정성 MariaDBMySQL 핵심 개발자들이 독립하여 MariaDB 개발MySQL이 오라클에 인수되면서 라이선스 정책 및 개발 방향 변화오픈소스 정책을 유지MySQL 5.5 버전 이후 독자적인 길을 걷기 시작SQL 문법과 실행 계획 출력 방식은 MySQL과 유사옵티마이저 기능 등 일부 차이점 존재 2. 상용 RDBMS와의 차이점구조적 차이구분 Oracle MySQL이중화 스토리지 구조Shared Storage (공유 스토리지) - 통합된 스토리지 하나를 공유Shared-No..

Database/Mysql 2025.03.18