[DBeaver] 쿼리 성능 튜닝의 시작: Visual Explain(실행 계획) 활용법
쿼리가 느려질 때, 단순히 "데이터가 많아서"라고 결론짓고 있지는 않나요? DBeaver의 실행 계획 기능을 활용하면 어느 구간에서 병목이 발생하는지 정확히 짚어낼 수 있습니다.
1. 실행 계획(Execution Plan)이란?
데이터베이스가 쿼리를 실행하기 위해 수립하는 '최단 경로 전략'입니다. 인덱스를 제대로 타고 있는지, 불필요하게 전체 테이블을 다 뒤지고 있는지(Full Scan) 확인할 수 있습니다.
2. DBeaver에서 실행 계획 보는 법
DBeaver 쿼리 편집기에서 쿼리를 작성한 후 다음 중 하나를 실행하세요.
- 단축키:
Ctrl+Shift+E - 버튼: 왼쪽 도구 모음의 'Explain Execution Plan' 아이콘 클릭
3. Visual Explain 읽는 법
DBeaver는 실행 계획을 트리 구조의 그래프로 보여줍니다. 여기서 주의 깊게 봐야 할 포인트는 다음과 같습니다.
- Node Color/Icon: 빨간색 아이콘이나 'Full Table Scan' 문구가 보인다면 인덱스를 타지 못하고 있다는 경고입니다.
- Cost (비용): 숫자가 높을수록 해당 단계에서 자원을 많이 소모한다는 뜻입니다.
- Rows: 해당 단계에서 처리하는 예상 행 수입니다. 실제 데이터 양보다 너무 크다면 쿼리 조건(WHERE)을 검토해야 합니다.
4. 튜닝 시나리오 예시
- Full Scan 발견: 특정 컬럼으로 필터링하는데
Full Scan이 뜬다면 해당 컬럼에 인덱스가 있는지 확인합니다. - Using Temporary / Using Filesort: 정렬(
ORDER BY)이나 그룹핑(GROUP BY) 시 이 메시지가 뜬다면 메모리가 아닌 디스크를 사용하여 매우 느려질 수 있습니다. 복합 인덱스를 고려해야 합니다.
정리
가벼운 데이터 확인은 Sequel Ace에서 하더라도, 성능이 중요한 쿼리를 짤 때는 반드시 DBeaver의 Visual Explain을 켜는 습관을 들여보세요. 텍스트로만 보던 EXPLAIN 결과보다 훨씬 직관적으로 튜닝 포인트를 잡을 수 있습니다.
관련 글
[macOS] MySQL 무료 DB 툴 추천: Sequel Ace & DBeaver 설치 및 가이드
맥에서 MySQL을 다룰 때 유용한 무료 DB 툴인 Sequel Ace와 DBeaver를 소개합니다. 설치 방법과 운영/개발 환경 구분 팁도 함께 제공합니다.
[DBeaver] 투박한 UI 탈출! 개발자를 위한 테마, 폰트, 운영 실수 방지 설정
DBeaver의 UI를 커스터마이징하여 눈이 편안하고 실수를 줄이는 환경을 만드는 방법을 알아봅니다.
데이터베이스 설계의 지도, ERD 도구 비교: ERwin에서 DBeaver, 그리고 최신 대안들까지
DBeaver의 ERD 기능과 전통적인 ERwin, 그리고 현대적인 도구들을 비교하여 나에게 맞는 데이터베이스 설계 도구를 찾아봅니다.