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

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

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

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

SQL Runner의 데이터베이스 탭을 사용하면 데이터베이스에서 쿼리를 실행하는 것 외에도 데이터베이스에서 데이터 정의 언어(DDL) 및 데이터 조작 언어(DML) 문을 실행할 수 있습니다. SQL Runner를 사용하여 스키마를 변경(예: 만들기, 삭제, 변경)하고 데이터를 변경(예: 삽입, 업데이트, 삭제)할 수 있습니다. SQL 언어는 DDL 및 DML 문에 대한 지원이 다르므로 지원되는 문서를 찾으려면 데이터베이스 문서를 참조하세요.

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

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

  1. SQL Runner로 이동합니다.
  2. SQL Runner에서 데이터베이스 탭을 클릭합니다.
  3. SQL Runner 쿼리 상자에 DDL 또는 DML 문을 입력합니다. DDL 및 DML 문의 지원 및 구문은 데이터베이스 언어 문서를 참조하세요.
  4. 실행을 클릭하여 데이터베이스에서 문을 실행합니다.

문이 데이터베이스에서 성공적으로 실행되면 SQL 결과 상자에 확인 메시지가 표시됩니다.

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

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

  1. 탐색에서 쿼리를 실행하고 데이터 영역의 SQL 탭을 클릭하여 쿼리의 SQL 명령어를 확인합니다.
  2. 탐색의 SQL 탭에서 SQL Runner의 설명 버튼을 클릭합니다.

    Looker가 SQL Runner를 열고 EXPLAIN 함수 내에서 쿼리를 로드합니다.

  3. SQL Runner에서 실행을 클릭하여 EXPLAIN 함수를 실행합니다.

  4. EXPLAIN 함수의 출력을 확인합니다.

EXPLAIN 응답의 정확한 정보와 형식은 특정 언어에 따라 다르므로 특정 언어에 대한 문서가 표시되어야 합니다.

위 MySQL 예시에서 EXPLAIN 함수는 데이터베이스에서 쿼리를 완료하기 위해 수행한 단계 목록을 반환합니다. 이는 데이터베이스가 성능을 개선하기 위해 색인을 사용할 수 있는 경우 쿼리에서 전체 테이블 스캔을 발견할 수도 있기 때문에 실행 속도가 느린 것처럼 보일 때 유용합니다.

SQL Runner에서 EXPLAIN를 사용하여 SQL을 최적화하는 방법에 대한 단계별 예시는 EXPLAIN으로 SQL 최적화 방법 커뮤니티 게시물을 참조하세요.

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

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

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

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

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

  • 현재 연결에서 실행 중인 쿼리와 프로세스에 대한 정보를 표시하려면 프로세스 표시 옵션을 선택합니다.
  • 스키마 및 테이블 새로고침 옵션을 선택하여 SQL Runner 왼쪽 탐색창을 데이터베이스의 스키마 및 테이블로 다시 채웁니다.

BigQuery 톱니바퀴 메뉴 옵션

여러 데이터베이스를 지원하는 BigQuery 연결을 선택하면 Looker가 톱니바퀴 메뉴에 언어별 옵션을 표시합니다. 메뉴 항목은 현재 선택된 옵션에 따라 사용 가능한 프로젝트 표시공개 프로젝트 검색 간에 전환됩니다.

  • 스키마 및 테이블 새로고침을 선택하여 SQL Runner 왼쪽 탐색창을 데이터베이스에 있는 스키마 및 테이블로 다시 채웁니다.
  • 사용 가능한 프로젝트가 표시되면 공개 프로젝트 검색을 위한 톱니바퀴 메뉴 옵션이 있습니다. 정보 스키마에 표시되지 않는 공개 데이터 세트를 검색하려면 이 옵션을 선택합니다.
  • 공개 프로젝트가 표시되면 사용 가능한 프로젝트 표시를 위한 톱니바퀴 메뉴 옵션이 있습니다. SQL Runner 왼쪽 탐색창에서 연결을 특정 BigQuery 프로젝트 및 테이블로 되돌리려면 이 옵션을 선택합니다.

데이터베이스 검색

SQL Runner는 선택한 스키마(또는 Google BigQuery 연결의 경우 데이터 세트) 아래에 검색창을 표시합니다.

SQL Runner 검색은 검색창에 문자열이 포함된 모든 테이블 및 테이블 열의 이름을 찾아봅니다. 다음 그림에서 'airport_name'은 열이고 'airport_remarks'는 테이블입니다.

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

테이블 정보 가져오기

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

SQL Runner의 왼쪽 탐색 패널을 사용하여 연결의 스키마와 테이블을 탐색할 수 있습니다. 연결 및 스키마를 선택하여 해당 스키마의 모든 테이블을 확인합니다. 테이블 이름을 클릭하면 해당 테이블의 필드가 표시됩니다.

SQL Runner에는 데이터를 이해하는 데 도움이 되는 몇 가지 사전 작성된 쿼리가 있습니다. 이러한 쿼리를 사용하려면 테이블 또는 테이블 열 이름 옆에 나타나는 톱니바퀴를 클릭하고 원하는 쿼리를 선택합니다. Looker가 SQL 쿼리 섹션에서 SQL을 자동으로 생성하고 쿼리가 실행됩니다.

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

테이블 정보

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

  • Explore 테이블: 테이블의 Looker Explore에 대한 새 브라우저 탭을 엽니다.
  • 설명: 기본 테이블의 열 이름과 데이터 유형을 표시합니다.
  • 색인 표시: 테이블 색인이 생성되는 방법에 대한 정보를 표시합니다.
  • 10개 선택: 테이블의 처음 10개 행에 대한 쿼리를 반환합니다. 이를 통해 데이터가 실제로 어떻게 보이는지 파악할 수 있습니다.
  • 개수: 테이블의 총 행 수를 가져오는 간단한 count(*) 쿼리를 반환합니다.

열 정보

테이블의 열을 보려면 테이블 이름을 클릭합니다. 열 이름 옆에 있는 톱니바퀴를 클릭하면 Looker에서 다음과 같은 옵션을 표시합니다.

  • 가장 일반적인 값: 해당 테이블 열에서 가장 일반적인 값의 쿼리와 해당 열에서 해당 값이 발견된 횟수를 반환합니다.
  • 대략적인 개수: 열에서 발견된 대략적인 고유 값 수를 표시합니다.

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

SQL Runner로 다음 단계를 수행하여 열 데이터 유형 정보를 가져올 수 있습니다.

  1. SQL Runner의 연결 드롭다운에서 데이터베이스 연결을 선택합니다.
  2. 스키마 드롭다운에서 스키마를 선택합니다. BigQuery 연결의 경우 프로젝트데이터 세트를 선택합니다.
  3. SQL Runner는 데이터베이스의 스키마에 있는 테이블 목록을 표시합니다. 테이블을 클릭하여 해당 테이블의 열을 확인합니다.
  4. 각 열 이름에는 데이터 유형을 나타내는 아이콘이 있습니다. 열 이름 위로 마우스를 가져가면 해당 열의 데이터 유형이 표시됩니다.

사전 빌드된 SQL 쿼리 수정

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

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

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

쿼리는 결과가 10개 행으로 제한되기 전에 개수에 따라 정렬되므로 가장 높은 개수 값이 결과에 포함됩니다. 이 쿼리가 각 id 값에 대해 1개 수를 반환하면 id은 이 테이블의 기본 키일 가능성이 높습니다. 그러나 이 쿼리는 쿼리 런타임에 테이블의 행만 지정합니다. 이후에 데이터베이스에 삽입하면 기본 키가 id이 될 수 없으므로 데이터베이스에서 제한사항을 구현하여 기본 키가 고유한지 확인하는 것이 좋습니다.