기존에는 Sqlyog 유료 버전을 사용해서 GUI로 편하게 사용했었는데, datagrip에는 GUI가 없는 듯해서 메모 목적으로 정리합니다.
-- Profiling 활성화 확인: 0이면 비 활성화
select @@profiling;
-- 활성화
set profiling=1;
-- profile 목록 보기
show profiles;
-- profile 목록에서 실행했던 쿼리 26의 내용 보기
-- 26 쿼리는 커버링 인덱스로 변경한 쿼리
select state, format(duration, 6) as duration
from information_schema.PROFILING
where QUERY_ID=26 order by seq;
-- 샘플로 커버링 인덱스로 튜닝했을 때의 효과를 확인하는 쿼리입니다.
-- 커버링 인덱스 쿼리
SELECT m.* FROM (
-- 데이터 조회(드라이빙)
SELECT id
FROM 테스트 테이블
WHERE date_at >= '2024-04-01' AND date_at < ADDDATE('2024-04-30', 1)
ORDER BY id DESC
LIMIT 720000, 15
) AS d, 테스트 테이블 AS m
WHERE m.id=d.id
;
-- 기존 쿼리: 커버링 인덱스 X
SELECT 컬럼들 블라블라
FROM 테스트 테이블
WHERE date_at >= '2024-04-01' AND date_at < ADDDATE('2024-04-30', 1)
ORDER BY id DESC
LIMIT 720000, 15
;
-- profile 목록에서 실행했던 쿼리 50의 내용 보기
-- 50 쿼리는 커버링 인덱스 미 사용 쿼리
select state, format(duration, 6) as duration
from information_schema.PROFILING
where QUERY_ID=50 order by seq;