쿼리 편집기
쿼리에 사용할 데이터(데이터 원본, 데이터베이스, 테이블)를 선택한 후 쿼리를 실행해 주세요.
쿼리 편집기 화면
1. 데이터 원본 설정
- 데이터 원본 선택 : Data Catalog, MySQL 또는 PostgreSQL 유형의 연결된 모든 데이터 원본 목록을 보여줍니다.
 - 데이터베이스 선택 : 선택한 데이터 원본에 대한 모든 데이터베이스 목록을 보여줍니다.
 - 테이블 선택 : 선택한 데이터베이스의 모든 테이블 목록을 보여줍니다.
 
테이블 관리
테이블의 필드를 확인할 수 있으며, 테이블별로 아래와 같이 부가 기능을 이용할 수 있습니다.
- 카카오클라우드 콘솔 > Analytics > Data Query 메뉴로 이동합니다.
 - 쿼리 편집기 메뉴에서 데이터 원본 선택 > 데이터베이스 선택 > 테이블 목록을 확인합니다.
 - 부가 기능을 사용할 테이블 우측의 [⋮] 버튼에서 다음과 같은 부가 기능을 활용할 수 있습니다.
 
테이블 부가 기능
| 구분 | 설명 | 
|---|---|
| 테이블 미리보기 | 테이블 데이터 미리보기 - 선택과 동시에 쿼리가 실행됨 ex) SELECT * FROM {데이터 원본}.{데이터베이스명}.{테이블명} LIMIT 10  | 
| 테이블 DDL 생성 | 테이블 생성 정보 보기 - 선택과 동시에 쿼리가 실행됨 ex) SHOW CREATE TABLE {데이터 원본}.{데이터베이스명}.{테이블명}  | 
| 편집기에 삽입 | 편집기에 테이블 이름을 삽입 | 
2. 쿼리 실행
쿼리를 수행할 데이터 소스를 모두 선택했다면, 편집기에서 SQL 쿼리를 작성 및 실행합니다.
- 쿼리 실행 시간이 30분을 초과할 경우 Trino 엔진에 설정된 최대 실행 시간 제한에 따라 쿼리가 강제로 종료됩니다.
 - 쿼리 실행 중 실행 계획을 수립하는 데 10분을 초과하면 쿼리가 종료됩니다.
 
편집기
데이터 원본 선택 영역을 제외한 편집기 화면에서 제공되는 기능입니다.
| 구분 | 설명 | 
|---|---|
| 편집기 | 쿼리문 작성  - 최대 10개까지 추가 가능 - 쿼리문 최대 입력 크기 : 256KB | 
| 쿼리 결과 탭 | 쿼리 결과 정보를 제공 | 
| 결과 상세 탭 | 쿼리 결과에 대한 상세 정보를 제공 | 
| [쿼리 실행] 버튼 | 쿼리 실행 후 [쿼리 재실행]으로 변경 ⚠️ 쿼리 결과 저장 위치를 설정해야 활성화됩니다.  | 
| [실행 중지] 버튼 | 쿼리 실행 중 실행을 중지할 수 있음 ⚠️ 이미 실행이 완료된 쿼리에 중지 요청 시 중단이 실패할 수 있습니다.  | 
| [쿼리 결과 재사용] 드롭다운 | 새로 데이터를 조회하지 않고 이전 쿼리 결과를 재사용할 수 있음 | 
저장 쿼리
주요한 쿼리 혹은 자주 사용하는 쿼리를 저장할 수 있습니다.
프로젝트 멤버 당 100개까지 저장 가능합니다.
- 카카오클라우드 콘솔 > Analytics > Data Query 메뉴로 이동합니다.
 - 저장 쿼리 기능을 사용할 편집기 우측의 [⋮] 버튼에서 다음과 같은 부가 기능을 활용할 수 있습니다.
 
저장 쿼리 부가 기능
| 구분 | 설명 | 
|---|---|
| 저장 | 쿼리를 저장하기 - 저장과 동시에 저장 쿼리 목록에 업데이트됨  | 
| 다른 이름으로 저장 | 저장된 쿼리를 다른 이름으로 새롭게 저장하기 - 저장 쿼리 목록에 다른 이름의 쿼리가 새롭게 저장됨  | 
| 이름 변경하기 | 쿼리의 이름을 다른 이름으로 변경하기 | 
| 삭제 | 저장 쿼리를 삭제하기 - 저장과 동시에 편집기와 저장 쿼리 목록에서 삭제됨  | 
저장 쿼리 목록 보기
- 카카오클라우드 콘솔 > Analytics > Data Query 메뉴로 이동합니다.
 - 쿼리 편집기 > 저장 쿼리 탭에서 저장한 쿼리 목록을 확인합니다.
 
| 항목 | 설명 | 
|---|---|
| 쿼리 ID | 쿼리 실행 시 생성되는 쿼리 ID | 
| 쿼리 이름 | 쿼리 저장 시 지정한 쿼리 이름 | 
| 쿼리문 | 실행한 SQL 쿼리문 | 
| 쿼리 설명 | 쿼리에 대한 설명 | 
| 저장 시간 | 쿼리를 저장한 일시 | 
| [쿼리 열기] 버튼 | 전체 쿼리문 보기 및 쿼리 편집기의 새로운 탭에서 열림 | 
쿼리 결과 재사용
쿼리 결과 재사용 기능을 활성화하면, 동일한 쿼리를 다시 실행할 때 새로 데이터를 조회하지 않고 이전에 저장된 결과를 사용할 수 있습니다. 이를 통해 쿼리 실행 속도를 높이고 데이터 스캔 비용을 절감할 수 있습니다.
쿼리 결과 재사용을 사용하는 방법은 다음과 같습니다.
- 카카오클라우드 콘솔 > Analytics > Data Query 메뉴로 이동합니다.
 - 쿼리 편집기 화면에서 쿼리 결과 재사용 기능을 설정할 편집기 우측 하단의 
쿼리 결과 재사용 : 사용 안 함버튼을 클릭합니다. - 드롭다운에서 아래와 같이 원하는 쿼리 결과 재사용 시간을 선택하여 설정합니다.
 
| 설정 옵션 | 설명 | 
|---|---|
| 사용 안 함 | 쿼리 결과 재사용 기능을 사용하지 않음(기본 설정) | 
| 1시간 전 | 최근 1시간 이내의 동일 쿼리 결과를 재사용 | 
| 12시간 전 | 최근 12시간 이내의 동일 쿼리 결과를 재사용 | 
| 24시간 전 | 최근 24시간 이내의 동일 쿼리 결과를 재사용 | 
| 사용자 설정 | 직접 시간(분 or 시 단위)을 입력하여 설정할 수 있음 - 최소 1분 ~ 최대 1440분(24시간)까지 입력 가능  | 
쿼리 결과 재사용 기능이 적용되기 위해 다음 조건을 모두 만족해야 합니다. 아래 조건들 중 하나라도 일치하지 않으면, 저장된 결과 대신 쿼리를 새로 실행합니다.
- 쿼리를 실행하기 전에 쿼리 결과 재사용 기능을 설정해야 합니다.
 - 쿼리 문자열이 이전 실행과 정확히 일치해야 합니다.
- 대/소문자, 공백 등이 동일해야 합니다.
 - WHERE, GROUP BY, JOIN 등의 조건절도 동일해야 합니다.
 
 - 기존 쿼리문에 포함된 Database와 Catalog가 동일해야 합니다.
 - 결과 저장 및 구성 설정이 이전 실행과 동일해야 합니다.
 - 쿼리에서 참조한 모든 테이블에 대한 접근 권한이 있어야 합니다.
 
쿼리 결과 재사용 시 함수 제한 안내
실행 시점 또는 무작위성에 의존하는 함수가 포함된 쿼리는 쿼리 결과 재사용과 함께 사용할 수 없습니다.
이러한 함수가 포함되면 과거 실행의 결과가 재사용되어 현재 시점과 다른 값 또는 중복된 무작위 값이 반환될 수 있기 때문입니다.
따라서 아래 함수들은 쿼리 결과 재사용 기능과 함께 사용할 수 없습니다. 해당 함수가 필요하다면 해당 쿼리의 결과 재사용을 비활성화하거나, 값을 상수/파라미터로 고정하는 방법을 사용하세요.
current_date
current_time
current_timestamp
current_timezone
localtime
localtimestamp
rand
random
shuffle
now
uuid
3. 쿼리 실행 결과
쿼리 실행 결과에 대한 상세 정보를 제공합니다.
쿼리 실행 결과는 실행 시점으로부터 24시간 이내에만 확인 가능합니다.
쿼리 결과
| 구분 | 설명 | 
|---|---|
| 상태 | 쿼리 실행 상태(쿼리 상태 정보 상세) - 대기 중, 실행 중, 실행 취소, 성공, 실패- 쿼리 결과 재사용 기능 사용 시 상태 : 성공 - 쿼리 결과가 재사용됨 으로 표기 | 
| 대기열 시간 | 쿼리가 실행되기 전에 대기열에 머무는 시간 - 쿼리가 제출된 시점부터 실제 쿼리가 실행되기 전까지의 시간  | 
| 쿼리 수행 시간 | 쿼리가 실제로 실행되어 결과가 생성되는 데 소용된 총 시간 | 
| 스캔 데이터 크기 | 쿼리가 실행되면서 읽은 데이터의 총량 | 
결과 상세
| 구분 | 항목 | 설명 | 
|---|---|---|
| 기본 정보 | 결과 상태 | 쿼리 실행 상태(쿼리 상태 정보 상세) - 대기 중, 실행 중, 실행 취소, 성공, 실패- 쿼리 결과 재사용 기능 사용 시 상태 : 성공 - 쿼리 결과가 재사용됨 으로 표기 | 
| 쿼리 ID | 쿼리 실행 시마다 생성되는 쿼리 ID | |
| 실행 정보 | 입력 데이터 수 | 쿼리 수행을 위해 스캔한 데이터 행 개수 | 
| 출력 데이터 수 | 쿼리 결과 데이터 행 개수 | |
| 입력 데이터 크기 | 쿼리 수행을 위해 스캔한 데이터 크기 | |
| 출력 데이터 크기 | 쿼리 결과 데이터 크기 | |
| 실행 시간 | 쿼리 실행 시작 일시 | 쿼리 수행이 시작된 시간 | 
| 쿼리 실행 종료 일시 | 쿼리 수행이 완료된 시간 | |
| 총 실행 시간 | 쿼리 수행 시간 + 내부 처리 시간의 합 | |
| 대기 시간 | 쿼리 실행 요청되고 실행되기 전까지 대기열에 머무는 시간 | |
| 계획 시간 | 쿼리 계획 시간 | |
| 쿼리 수행 시간 | 쿼리가 실제로 실행되어 결과가 생성되는 데 소용된 총 시간 | |
| [실행 구조도] 버튼 | 버튼 클릭 시 쿼리 이력 상세 페이지 > 실행 구조도 탭으로 이동 - 쿼리 결과 재사용 기능 활성화 시에는 미제공  | |
| [쿼리 결과 저장 위치] 버튼 | 버튼 클릭 시 설정된 Object Storage 버킷의 최종 경로로 이동 - 쿼리 결과 재사용 기능 활성화 시에는 미제공  |