오랫동안 쿼리 조회를 안 한 미 사용된 테이블을 확인하기 위해서는 INFORMATION SCHEMA에서 쿼리를 사용하여 며칠 이상 쿼리 조회조차 안 한 테이블들을 확인 할 수 있습니다.
아래와 같은 내용의 쿼리를 사용하여 INFORMATION SCHEMA의 메타데이터를 조회합니다.
----------------------------------------------------------------------------------------------------
with temp1 as(
SELECT t.table_name as table_id
FROM `iaas-demo-208601`.`region-us`.INFORMATION_SCHEMA.SCHEMATA d
join `iaas-demo-208601`.`region-us`.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-us`.INFORMATION_SCHEMA.JOBS_BY_PROJECT a,
UNNEST(referenced_tables) as rf
WHERE 1=1
and EXTRACT(MONTH FROM a.creation_time) = 4
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 “등으로 조회 될 때가 있습니다.