색인 자문 사용

이 페이지에서는 MySQL용 Cloud SQL 색인 도우미에 대해 살펴보고 색인 권장사항을 보고 적용하는 방법을 설명합니다.

MySQL용 Cloud SQL은 데이터베이스가 정기적으로 처리하는 쿼리를 추적하는 완전 관리형 색인 자문을 제공합니다. 색인 자문은 주기적으로 이러한 쿼리를 분석하여 쿼리 성능 향상에 도움이 되는 새로운 색인을 추천합니다. 색인 도우미를 사용하면 시스템 및 쿼리의 성능 문제를 감지하고 해결할 수 있습니다.

색인 자문은 어떻게 작동하나요?

색인 도우미를 사용하면 다음을 수행하여 쿼리 처리를 향상시킬 수 있습니다.

  • 색인을 만드는 SQL 명령어로 색인을 설정하는 것이 좋습니다.
  • 예상 스토리지 크기 및 쿼리에 대한 색인의 영향과 같이 권장 색인을 평가하는 데 도움이 되는 데이터를 제공합니다.
색인 자문은 데이터베이스 이름, 테이블 이름, 열 이름이 포함된 CREATE INDEX 명령어를 저장하고 표시합니다. 추적된 쿼리는 모든 리터럴이 제거된 모든 정규화된 쿼리입니다.

색인 권장사항은 저장 중에 암호화됩니다.

MySQL용 Cloud SQL에서 데이터베이스 플래그를 사용하여 색인 자문을 구성하고 미세 조정합니다. 자세한 내용은 색인 도우미 플래그를 참조하세요.

제한사항

MySQL용 Cloud SQL 색인 자문에는 다음과 같은 제한사항이 있습니다.

  • 색인 자문은 CREATE INDEX 권장사항만 제공합니다.
  • 색인 도우미는 다음 구성의 인스턴스를 지원하지 않습니다.
    • Cloud SQL Enterprise 버전 인스턴스
    • 공유 코어 머신 유형을 사용하는 인스턴스

시작하기 전에

색인 도우미 추천을 받으려면 Cloud SQL Enterprise Plus 버전을 사용하고 Cloud SQL 인스턴스에 Cloud SQL Enterprise Plus 버전의 쿼리 통계를 사용 설정해야 합니다.

필수 역할 및 권한

색인 도우미 추천을 받는 데 필요한 권한을 얻으려면 관리자에게 Cloud SQL 인스턴스를 호스팅하는 프로젝트에 대한 Cloud SQL 뷰어(roles/cloudsql.viewer) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

이 사전 정의된 역할에는 색인 도우미 추천을 받는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.

필수 권한

색인 도우미 추천을 받으려면 다음 권한이 필요합니다.

  • databaseinsights.recommendations.query
  • databaseinsights.resourceRecommendations.query

커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.

색인 자문 권장사항 사용 설정

Cloud SQL Enterprise Plus 버전의 쿼리 통계를 사용 설정하면 색인 도우미 추천이 자동으로 사용 설정됩니다.

색인 자문 권장사항 사용 중지

Cloud SQL Enterprise Plus 버전의 쿼리 통계를 사용 중지하지 않고는 색인 도우미 추천을 사용 중지할 수 없습니다.

색인 도우미 추천과 Cloud SQL Enterprise Plus 버전의 쿼리 통계를 사용 중지하려면 Cloud SQL Enterprise Plus 버전의 쿼리 통계 사용 중지를 참조하세요.

색인 도우미 추천 보기

Cloud SQL은 색인 도우미 분석을 주기적으로 자동 실행합니다. 색인 도우미 추천을 보려면 쿼리 통계 대시보드를 사용합니다. 또한 언제든지 색인 도우미 추천을 테이블로 보고 쿼리하거나 주문형 분석 및 보고를 요청할 수 있습니다.

쿼리 통계 대시보드에서 추천 보기 및 필터링

  1. Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.

    Cloud SQL 인스턴스로 이동

  2. 인스턴스의 개요 페이지를 열려면 인스턴스 이름을 클릭합니다.
  3. 쿼리 통계를 클릭합니다.
  4. 색인 도우미 추천은 최상위 쿼리 및 태그 섹션의 권장사항 열에 표시됩니다.
  5. 선택사항: CREATE INDEX 추천이 있는 쿼리만 보려면 추천: 색인 만들기에 대한 필터를 추가합니다.

쿼리에 대한 권장사항 보기

특정 쿼리의 색인 추천을 보려면 다음 단계를 수행합니다.

  1. Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.

    Cloud SQL 인스턴스로 이동

  2. 인스턴스의 개요 페이지를 열려면 인스턴스 이름을 클릭합니다.
  3. 쿼리 통계를 클릭합니다.
  4. 상위 쿼리 및 태그 섹션에서 쿼리를 클릭합니다.
  5. 쿼리에 대한 추천 세부정보를 가져오려면 다음 중 하나를 수행합니다.
    • 다음 정보를 포함하여 선택한 쿼리의 추천을 자세히 알아보려면 쿼리를 클릭합니다.
      • 성능 영향(높음, 중간, 낮음): 모든 권장 색인이 생성된 후의 예상 쿼리 속도입니다.
      • 권장사항: 색인 권장사항을 만듭니다.
      • 영향을 받는 테이블: 색인이 생성되었을 때 영향을 받는 테이블 수입니다.
      • 필요한 추가 예상 스토리지: 모든 권장 색인을 생성하는 데 필요한 예상 스토리지 크기입니다.
      • 영향을 받는 쿼리 수: 워크로드에서 색인 권장사항의 영향을 받는 총 쿼리 수입니다. 색인은 여러 쿼리에 도움이 될 수 있습니다.
    • 특정 쿼리의 색인 만들기를 클릭하여 쿼리 성능 향상을 위해 색인 만들기에 대한 자세한 권장사항을 알아봅니다.

데이터베이스 테이블 뷰로 추천 보기

mysql 데이터베이스에 있는 다음 테이블을 통해 결과를 읽을 수 있습니다.

  • mysql.cloudsql_db_advisor_recommended_indexes: 각 데이터베이스에 대해 권장되는 새로운 색인을 나열합니다. 또한 각 색인에 필요한 스토리지 예상 값과 각 색인이 영향을 줄 수 있는 쿼리 수가 포함됩니다.

예를 들어 테이블 형식으로 최신 색인 권장 분석의 결과를 보려면 다음 쿼리를 실행합니다.

SELECT * FROM mysql.cloudsql_db_advisor_recommended_indexes;

추천 색인 만들기

쿼리 통계 대시보드 또는 데이터베이스 테이블 뷰에서 추천 색인을 만들 수 있습니다.

쿼리 통계 대시보드를 사용하여 추천 색인을 만들려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.

    Cloud SQL 인스턴스로 이동

  2. 인스턴스의 개요 페이지를 열려면 인스턴스 이름을 클릭합니다.
  3. 쿼리 통계를 클릭합니다.
  4. 데이터베이스 부하별 상위 크기 테이블에서 쿼리를 클릭합니다.
  5. 특정 쿼리에 대해 색인 만들기를 클릭합니다.
  6. 모든 색인 명령어 복사를 클릭합니다. CREATE INDEX 명령어가 클립보드에 복사됩니다.
  7. 명령줄에서 기본 인스턴스에 연결합니다.
  8. 권장 색인을 만들기 위해 클립보드에 복사된 명령어를 실행합니다. 예를 들면 다음과 같습니다.

    CREATE INDEX ON "public"."demo_order" ("customer_id");

mysql.cloudsql_db_advisor_recommended_indexes 테이블의 index 열에는 각 행에서 권장되는 색인을 생성하기 위한 완전한 MySQL CREATE INDEX DDL 문이 포함됩니다.

해당 행의 권장사항을 적용하려면 표시된 대로 정확하게 해당 DDL 문을 실행합니다.

예를 들어 이전 섹션에 설명된 쿼리를 사용해서 수동으로 분석을 실행하여 다음 결과가 발생했다고 가정해 보세요.

                    index                   | estimated_storage_size_in_mb
--------------------------------------------+------------------------------
 CREATE INDEX ON "School"."Students"("age") |                            3
(1 row)

이 보고서에는 School 스키마의 Students 테이블에서 age 열에 단일 열 색인을 추가하는 단일 권장사항이 포함되어 있습니다. 이 조언을 적용하려면 보고서 내에 표시된 대로 DDL 쿼리를 입력합니다.

CREATE INDEX ON "School"."Students"("age");

영향을 받는 쿼리 보기

  1. Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.

    Cloud SQL 인스턴스로 이동

  2. 인스턴스의 개요 페이지를 열려면 인스턴스 이름을 클릭합니다.
  3. 쿼리 통계를 클릭합니다.
  4. 데이터베이스 부하별 상위 크기 테이블에서 쿼리를 클릭합니다.
  5. 특정 쿼리에 대해 색인 만들기를 클릭합니다.
  6. 영향을 받는 쿼리 표시를 클릭합니다.
  7. 쿼리를 클릭하여 영향을 받는 쿼리에 대한 세부정보를 확인합니다.

색인 자문 구성

색인 자문은 기본 설정을 사용해서 대부분의 사용 사례에 작동하도록 설계되었지만 여러 데이터베이스 플래그를 설정하여 동작을 미세 조정할 수 있습니다.

기본적으로 색인 자문은 24시간마다 한 번 실행됩니다. cloudsql_index_advisor_auto_advisor_schedule 플래그를 사용하여 자동 예약 시간을 수정하거나 cloudsql_index_advisor_run_at_timestamp 플래그를 사용해서 특정 날짜/시간에 임시 분석을 실행할 수 있습니다. 자세한 내용은 색인 도우미 플래그를 참조하세요.

다음 단계