오랫동안 쿼리 조회를 안 한 미 사용된 테이블을 확인하기 위해서는 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 “등으로  조회 될 때가 있습니다.