기존에는 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;

 

커버링 인덱스로 튜닝전 쿼리의 Profile

 

튜닝 후 쿼리의 Profile

+ Recent posts