실행계획

쿼리 앞에 EXPLAIN ANALYZE를 붙여 실행 계획을 파악 가능

EXPLAIN ANALYZE
SELECT * FROM MEMBER;

실행계획에서 주로 확인해야 될 지표들은 다음과 같다.

  • tableScan: 데이터 집합의 크기, 카디널리티
  • scanCount: 실제 탐색 과정에서 접근한 데이터 수

쿼리 실행 정보 집계

아래와 같이 쿼리 통계를 킨 후 쿼리를 실행한다.

SET QUERY_STATISTICS TRUE;

그리고 아래와 같이 쿼리의 내용 일부를 검색하여 해당 쿼리에 대한 간략한 통계를 볼 수 있다.

SELECT
    SQL_STATEMENT,
    EXECUTION_COUNT, -- 실행 횟수
    MIN_EXECUTION_TIME, -- 최소 실행 시간
    MAX_EXECUTION_TIME, -- 최대 실행 시간
    AVERAGE_EXECUTION_TIME, -- 평균 실행 시간
    STD_DEV_EXECUTION_TIME, -- 실행 시간의 표준편차
    CUMULATIVE_EXECUTION_TIME -- 누적 실행 시간
FROM INFORMATION_SCHEMA.QUERY_STATISTICS
WHERE SQL_STATEMENT LIKE '%검색할 SQL 내용의 일부%'
ORDER BY AVERAGE_EXECUTION_TIME DESC;