← 질문 목록
#386깊이 0
느린 쿼리를 발견하면 실행 계획에서 무엇을 먼저 보는가?
데이터베이스
답변 연습
내 답변 적어보기접힘
이 브라우저에 자동 저장 · 0자
모범답안 확인하기내 답변 뒤에 열어보세요
실행 계획에서 테이블 풀 스캔 여부와 인덱스 사용 상태를 가장 먼저 본다.
- 슬로우 쿼리 로그 수집
그다음은 EXPLAIN 실행입니다. 그다음
EXPLAIN 실행그다음은 Scan 방식 및 Filter 조건 확인입니다. 그다음
Scan 방식 및 Filter 조건 확인그다음은 인덱스 추가 또는 쿼리 재작성입니다. 그다음
인덱스 추가 또는 쿼리 재작성
쿼리가 전체 행을 모두 읽는지 특정 인덱스를 타는지 확인해야 원인을 밝힌다. 인덱스를 타지 않으면 데이터가 늘어날 때 응답 시간이 급증한다.
불필요한 조인이나 임시 테이블 생성 여부도 검사한다. 드라이빙 테이블이 잘못 선정되면 조사할 데이터 양이 크게 늘어난다.
인덱스를 새로 만들면 조회는 빨라지나 쓰기 작업에 비용이 더 든다. 필터링 효과가 높은 컬럼 위주로 선택한다.