Snowflake显示过去20天内未访问的表



有一种情况,我需要清理雪花中的数据库。我们有大约40个数据库,每个数据库有100多个表。有些每天都在加载,有些没有,但每天都在使用。然而,已经添加了许多表用于测试和其他目的(由许多开发人员和用户(。

现在我们正在清理没用过的桌子。

我们有query_history表,它为我们提供了过去运行的查询的信息,但它有数据库、仓库、用户等字段,而没有表。

我想知道是否有任何方法可以编写一个查询,为我们提供过去10天内未使用的表名(DDL和DML b0th(。

select obj.value:objectName::string objName
, max(query_start_time) as QUERY_DATE_TIME
from snowflake.account_usage.access_history 
, table(flatten(direct_objects_accessed)) obj
group by 1
order by QUERY_DATE_TIME desc;

信息模式有一个表视图,其中有一个最后更改的列,这对您有用吗?它不会给您最后一次访问的表,但会给您最后更改的表。除此之外,目前还没有简单的方法从雪花中获取这些信息。我也需要这个功能,我想我们应该请求这个功能。

select table_schema,
table_name,
last_altered
from information_schema.tables
where table_type = 'BASE TABLE'
and last_altered < dateadd( 'DAY', -10, current_timestamp() ) 
order by table_schema,
table_name;

最新更新