Skip to main content
Skip table of contents

실행 계획(Explain) 기능 사용하기

10.2.0 부터 추가된 기능입니다. (10.2.0 기준 MySQL만 지원합니다.)

Overview

사용자가 Workflow를 통해 SQL Request를 요청할 때 해당 쿼리에 대해 DBMS에서 제공하는 실행 계획(Explain 구문)을 사용하여 쿼리에 대한 제한적인 절차 정보를 확인할 수 있습니다. 이 기능은 DBMS에 종속된 기능이므로 Workflow의 SQL Request 작성할 때 커넥션에 해당하는 DBMS 마다 차이가 있을 수 있습니다.

실행계획이란?
데이터베이스의 옵티마이저가 가장 최적의 쿼리를 수행하기 위해 생성하는 일련의 작업세트 또는 작업 절차입니다. 단계적으로 수행 단계를 볼 수 있고 단계별 비용을 볼 수 있습니다.

SQL Request 작성 및 실행계획(Explain) 수행하기

QueryPie Workflow에서 SQL Request를 작성하는 기본 방법은 동일합니다. (참고 : SQL Request 요청하기)

  1. MySQL Connection 및 Database 선택
    쿼리를 실행할 MySQL Connection 과 Database를 선택하고 쿼리를 입력합니다.

Content Type은 “Text”만 지원합니다. “File”을 선택하면 실행 계획(Explain)기능을 사용할 수 없습니다.

image-20241029-234721.png
  1. 실행계획(Explain) 옵션 및 실행계획 수행
    쿼리 에디터 하단에 있는 옵션을 선택하고 “Explain” 버튼을 누릅니다.

    1. Attach Explain Results : 실행계획의 결과를 SQL Request 에 첨부 여부를 선택하는 스위치입니다. (기본값은 ON 입니다.)

    2. 결과 표시 방식 선택

      1. Table : 테이블 형태로 결과가 표시됩니다.

      2. JSON : JSON 형태로 결과가 표시됩니다.

image-20241029-235845.png
  • 실행계획 대상이 되는 쿼리(세미콜론으로 끝나는 구문)는 100개로 제한됩니다.

  • MySQL은 5.6 이후 부터 Explain의 결과를 JSON 포맷으로 출력할 수 있습니다. 따라서 5.6 이전 버전을 대상으로 Explain을 수행시 JSON으로 출력할 수 없습니다.

image-20241030-001252.png
  1. 실행계획(Explain) 결과 확인

    1. Table 형태의 결과 확인
      아래 그림과 같은 결과가 표시됩니다. 각 필드의 의미는 MySQL reference 문서를 참고 바랍니다.

      image-20241030-002325.png

    2. JSON 형태의 결과 확인
      JSON 을 선택하고 Explain 버튼을 누르면 아래 그림과 같은 결과가 표시됩니다. {JSON} 을 클릭하면 전체 JSON 내용을 확인 할 수 있습니다.

      image-20241030-003040.png

      {JSON}을 클릭하면 전체 내용을 볼수 있습니다.


      image-20241030-003129.png

      JSON 결과의 복사와 내보내기가 가능합니다.


      내보내기(Export)를 할 때 관리자 설정에 따라 암호 입력을 요구하는 팝업이 출력될 수 있습니다.

기타 참고사항

  1. 결재자(Approver)의 실행계획(Explain)결과 확인
    결재자는 Explain Results 탭에서 첨부된 실행계획(Explain)결과를 확인하고 승인의 참고자료로 활용할 수 있습니다.

    image-20241030-004258.png

결재자가 볼 수 있는 실행계획(Explain) 결과는 상신자가 실행계획을 수행할 때 선택한 포맷으로만 볼 수 있습니다. 즉, 상신자가 실행계획을 JSON 형태로 출력하도록 하고 첨부하여 상신했다면 결재자는 JSON 형태의 결과만 볼 수 있고 출력 형태를 테이블로 바꿀 수 없습니다.

  1. MySQL에서 실행계획(Explain)을 통해 검토 가능한 구문
    MySQL은 버전별로 실행계획을 통해 분석하는 지원 구문이 다릅니다.

MySQL 5.6.3 이전

MySQL 5.6.3 이후

SELECT

SELECT , DELETE , INSERT , REPLACE , UPDATE

optimizer_trace, analyze 는 SQL Request 에서 제공하는 실행계획(Explain) 수행 기능에서 지원하지 않습니다.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.