안녕하세요,
베스핀글로벌 GCP Support팀입니다.
이번 아티클에서는 주제로 "사용하지 않는 테이블만 조회하는 방법"을 다루고자 합니다.
사용하지 않는 테이블 조회
오랫동안 쿼리 조회를 안 한 미 사용된 테이블을 확인하기 위해서는 INFORMATION SCHEMA에서 쿼리를 사용하여 며칠 이상 쿼리 조회조차 안 한 테이블들을 확인 할 수 있습니다.
아래와 같은 내용의 쿼리를 사용하여 INFORMATION SCHEMA의 메타데이터를 조회합니다.
※ 아래 쿼리문은 최근 3개월간 쿼리 되지 않은 테이블을 조회합니다.
----------------------------------------------------------------------------------------------------
WITH temp1 AS (
SELECT t.table_name AS table_id
FROM `[프로젝트 ID]`.`region-[리전]`.INFORMATION_SCHEMA.SCHEMATA d
JOIN `[프로젝트 ID]`.`region-[리전]`.INFORMATION_SCHEMA.TABLES t
ON d.catalog_name = t.table_catalog
AND d.schema_name = t.table_schema
WHERE 1 = 1
), temp2 AS (
SELECT DISTINCT rf.table_id
FROM `region-[리전]`.INFORMATION_SCHEMA.JOBS_BY_PROJECT a
INNER JOIN UNNEST(referenced_tables) AS rf ON 1 = 1
WHERE 1 = 1
AND DATE(a.creation_time) >= DATE_SUB(CURRENT_DATE(), INTERVAL 3 MONTH)
AND a.job_type = "QUERY"
AND a.statement_type <> "SCRIPT"
)
SELECT a.*
FROM temp1 a
LEFT JOIN temp2 b
ON (a.table_id = b.table_id)
WHERE b.table_id IS NULL;
----------------------------------------------------------------------------------------------------
- 빅쿼리 콘솔에서 사용하는 것 말고 파이프라인, 컴포저등에서 테이블을 사용할 경우 where 절를 job_type을 삭제하셔도 됩니다. 파이프라인에서 적용되는 테이블은 “LOAD QUERY “등으로 조회 될 때가 있습니다.
관련 문의사항이 있으시면 Support Portal에 문의해 주시기 바랍니다.
감사합니다.