SQL Runner로 데이터베이스 함수 관리

SQL Runner를 사용하면 데이터베이스에 직접 액세스하고 이를 다양한 방식으로 활용할 수 있습니다. SQL Runner를 사용하면 스키마의 테이블을 쉽게 탐색하고, SQL 쿼리에서 임시 탐색을 사용하고, 데이터에 미리 작성된 설명 쿼리를 실행하고, SQL Runner 기록을 확인하고, 결과를 다운로드하고, 쿼리를 공유하고, LookML 프로젝트를 파생 테이블로 추가하고, 기타 유용한 작업을 수행할 수 있습니다.

이 페이지에서는 SQL Runner를 사용하여 데이터베이스 스키마 및 데이터를 수정하는 방법, EXAMINE 문으로 데이터베이스의 데이터베이스 실행 계획을 확인하는 방법, SQL Runner를 사용하여 데이터베이스 관련 정보를 가져오는 방법을 설명합니다. 다음에 대한 다른 문서 페이지를 참조하세요.

데이터베이스 스키마 및 데이터 수정

데이터베이스에서 쿼리를 실행하는 것 외에도 SQL Runner의 Database(데이터베이스) 탭을 사용하면 데이터베이스에서 데이터 정의 언어(DDL) 및 데이터 조작 언어(DML) 문을 실행할 수 있습니다. SQL Runner를 사용하여 스키마 변경 (예: 생성, 삭제, 변경)과 데이터 변경 (예: 삽입, 업데이트, 삭제)을 할 수 있습니다. SQL 언어는 DDL 및 DML 문에 다양한 지원을 제공하므로 지원되는 문서를 알아보려면 데이터베이스 문서를 참조하세요.

Looker는 사용자가 데이터베이스에서 실행할 수 있는 SQL 문의 승인을 제어하지 않습니다. use_sql_runner 권한이 있는 Looker 사용자에게는 SQL Runner 액세스 권한이 부여되지만 SQL Runner는 사용자가 실행할 수 있는 명령어를 제어하지 않습니다. 데이터베이스 관리자가 SQL Runner 사용자가 데이터베이스 스키마를 수정하지 못하게 하려면 데이터베이스 자체에 대한 사용자 권한을 구성하여 수행해야 합니다.

SQL Runner에서 데이터베이스의 DDL 또는 DML 문을 실행하려면 다음 안내를 따르세요.

  1. 데이터베이스 탭을 클릭합니다.
  2. SQL 쿼리 상자에 문을 입력합니다. DDL 및 DML 문의 지원 및 구문은 데이터베이스 언어 문서를 참조하세요.
  3. Run을 클릭하여 문을 실행합니다.
  4. 결과 상자에서 문이 성공적으로 실행되었는지 확인합니다.

후속 쿼리를 실행하여 이 구문이 성공했는지 추가로 확인할 수 있습니다. 위의 예에서는 데이터베이스에 사용자 'Erin Looker-Docs'를 추가했습니다. SELECT 쿼리를 실행하여 사용자가 올바르게 추가되었는지 확인할 수 있습니다.

EXPLAIN를 사용하여 실행 계획 검토

데이터베이스에 SQL 쿼리를 실행하는 것 외에도 SQL Runner를 사용하여 쿼리에 EXPLAIN 함수를 실행할 수 있습니다. 대부분의 SQL 언어에서 지원되는 EXPLAIN 함수는 쿼리의 데이터베이스 실행 계획을 반환합니다.

  1. 탐색에서 쿼리를 실행하고 데이터 영역의 SQL 탭을 클릭하여 쿼리의 SQL 명령어를 확인합니다.
  2. SQL 명령어에서 SQL Runner에서 설명을 클릭하여 EXPLAIN 함수 내에서 SQL Runner로 쿼리를 로드합니다.
  3. Run을 클릭하여 EXPLAIN 함수를 실행합니다.
  4. EXPLAIN 함수의 출력을 확인합니다.

EXPLAIN 응답의 정확한 정보와 형식은 특정 방언에 따라 다르므로 특정 방언 문서를 참조하세요.

위 MySQL 예에서 EXPLAIN 함수는 데이터베이스에서 쿼리를 완료하기 위해 실행한 단계 목록을 반환합니다. 이 방법은 데이터베이스가 성능을 개선하기 위해 색인을 사용할 수 있을 때 데이터베이스가 전체 테이블을 검색한다는 사실을 알기 때문에 실행 속도가 느린 쿼리에 유용할 수 있습니다.

SQL Runner에서 EXPLAIN를 사용하여 SQL을 최적화하기 위한 단계별 예시는 이 고객센터 도움말을 참조하세요.

데이터베이스 정보 가져오기

SQL Runner의 Database(데이터베이스) 탭에는 데이터베이스에 대한 유용한 정보를 제공하는 다양한 도구가 있습니다.

데이터베이스 연결 정보 가져오기

SQL Runner에서 연결을 선택하면 Looker가 SQL QUERY 배너 오른쪽에 해당 연결에 대한 데이터베이스 언어를 표시합니다. SQL Runner에서 열기SQL Runner에서 설명을 선택하여 SQL Runner로 이동했다면 Looker가 적절한 연결을 미리 선택하고 연결의 데이터베이스 언어를 표시합니다.

연결 톱니바퀴 메뉴를 클릭하여 데이터베이스 연결에 대한 추가 옵션을 확인합니다.

스키마 새로고침 및 테이블 옵션을 사용하여 SQL 러너 왼쪽 탐색창을 데이터베이스의 스키마와 테이블로 다시 채웁니다.

Show Processes 프로세스를 사용하여 현재 연결에서 실행 중인 쿼리 및 프로세스에 대한 정보를 표시합니다.

BigQuery 전용 톱니바퀴 메뉴 옵션

여러 데이터베이스를 지원하는 BigQuery 연결을 선택하면 Looker에서 톱니바퀴 메뉴에 언어별 옵션을 표시합니다.

스키마 새로고침 및 테이블 옵션을 사용하여 SQL 러너 왼쪽 탐색창을 데이터베이스의 스키마와 테이블로 다시 채웁니다.

공개 프로젝트 검색 옵션을 사용하여 정보 스키마에 표시되지 않는 공개 데이터 세트를 검색합니다.

톱니바퀴 메뉴에서 공개 프로젝트 검색 옵션과 사용 가능한 프로젝트 표시 옵션 간에 전환합니다.

톱니바퀴 메뉴에서 사용 가능한 프로젝트 표시를 클릭하여 왼쪽 탐색 메뉴에서 연결을 특정 BigQuery 프로젝트 및 테이블로 되돌립니다.

데이터베이스 검색

SQL Runner가 선택한 스키마 아래에 검색창을 표시합니다. 검색에서는 모든 테이블의 이름과 검색창에 문자열이 포함된 테이블 열을 탐색합니다. 다음 그림에서 'airport_name'는 열이고 'airport_remarks'는 테이블입니다.

검색결과 중 하나를 클릭하여 SQL Runner에서 해당 항목으로 이동합니다.

BigQuery 전용 검색 옵션

여러 데이터베이스를 지원하는 BigQuery 연결을 선택할 때 Project 선택기에서 BigQuery 프로젝트도 선택하여 연결된 데이터 세트와 테이블을 노출해야 합니다.

프로젝트를 선택하면 데이터 세트 선택 또는 스키마 검색을 진행할 수 있습니다.

테이블 정보 가져오기

기본적으로 연결 및 스키마를 선택하면 SQL Runner가 모든 테이블 정보를 미리 로드합니다. 테이블이 많거나 테이블이 너무 큰 연결의 경우 관리자는 연결 페이지에서 SQL Runner Precache 옵션을 선택 해제하여 이 동작을 사용 중지할 수 있습니다.

SQL Runner의 왼쪽 탐색 패널을 사용하여 연결에서 스키마와 테이블을 탐색할 수 있습니다. 연결 및 스키마를 선택하여 해당 스키마의 모든 테이블을 확인합니다.

SQL Runner에는 데이터를 이해하는 데 도움이 되는 미리 작성된 쿼리가 있습니다. 이 검색어를 사용하려면 표 또는 표 열의 이름 옆에 표시되는 톱니바퀴 아이콘을 클릭하고 원하는 쿼리를 선택합니다. Looker에서 SQL 쿼리 섹션에 SQL이 자동으로 생성되고 쿼리가 실행됩니다.

사용 가능한 쿼리는 데이터베이스 언어에 따라 다릅니다.

테이블 정보

테이블 이름 옆에 있는 톱니바퀴를 클릭하면 Looker에 다음 옵션이 표시됩니다.

  • 설명 옵션을 사용하여 기본 테이블에 열 이름과 해당 데이터 유형을 표시합니다.
  • 테이블의 색인이 생성되는 방식에 대한 정보를 얻으려면 색인 표시 옵션을 사용합니다.
  • 테이블의 처음 10개 행을 반환하려면 10개 선택 옵션을 사용합니다. 이는 데이터가 실제로 어떻게 보이는지 확인하는 좋은 방법입니다.
  • Count 옵션을 사용하면 데이터베이스에서 간단한 count(*)을 실행하여 테이블의 총 행 수를 가져올 수 있습니다.

열 정보

열 이름 옆에 있는 톱니바퀴를 클릭하면 Looker에서 다음 옵션을 표시합니다.

  • 표 열 톱니바퀴 메뉴의 가장 일반적인 값 옵션을 사용하여 해당 표의 가장 일반적인 값과 해당 값이 열에서 발견되는 횟수를 나열하는 쿼리를 실행합니다.
  • 표 열 톱니바퀴 메뉴의 대략적인 개수 집계 옵션을 사용하여 열에서 발견된 고유값의 대략적인 개수를 가져옵니다.

열 데이터 유형 정보 가져오기

연결 및 스키마를 선택하여 해당 스키마의 모든 테이블을 확인합니다. 아래 예시에서는 thelookdemo_db 스키마가 선택됩니다.

  1. 스키마에서 테이블을 선택하여 해당 테이블의 열을 확인합니다.
  2. 열 이름 위로 마우스를 가져가면 해당 열의 데이터 유형 (이 경우 정수)이 표시됩니다.

각 열 이름에는 데이터 유형을 나타내는 아이콘도 있습니다.

사전 빌드된 SQL 쿼리 수정

쿼리 영역에서 테이블 및 필드 톱니바퀴 메뉴에서 선택한 미리 설정된 SQL 쿼리를 포함하여 모든 SQL 쿼리를 수정할 수 있습니다.

예를 들어 SQL Runner Count 쿼리를 사용하여 데이터베이스의 기본 count 명령어를 로드한 다음 SQL 쿼리를 수정할 수 있습니다. 따라서 public.users 테이블의 id 열이 기본 키가 될 수 있다고 생각하면 다음과 같이 count 쿼리를 수정하여 중복 값이 없는지 확인할 수 있습니다.

SELECT id ,COUNT(*)
FROM public.users
GROUP BY 1
ORDER BY 2 DESC
LIMIT 10

결과를 10개 행으로 제한하기 전에 개수를 기준으로 쿼리가 정렬되므로 결과에 가장 높은 개수의 값이 포함됩니다. 아래에서 볼 수 있듯이 각 id 값의 개수는 1이므로 id가 이 테이블의 기본 키일 가능성이 높습니다. 하지만 이 쿼리는 테이블의 기존 행의 최대 개수만 지정하므로 가능하면 데이터베이스 수준에서 primary_key도 지정해야 합니다.