Redshift表 - 查找表的查询的最后日期

时间:2017-07-31 16:30:25

标签: amazon-web-services amazon-redshift database-administration

我正在尝试清理我的小型数据库并尝试查看上次实际查询某些表时的情况但似乎无法找到有关如何执行此操作的任何文档。我可以在我的架构和大小中获取所有表的列表,但在轮询我的用户之前无法确定可能是陈旧的。

有没有人知道如何获得在redshift中使用/查询表的最后日期?

select
    schema,  
    "table",
     size as GB
from svv_table_info
    where schema = 'measure' or schema = 'mphd' or schema = 'offer'
order by schema asc;

2 个答案:

答案 0 :(得分:1)

您可以在stl_scan中查看上次扫描表格的时间。几乎所有选择的查询都会扫描。以下内容摘自:https://github.com/awslabs/amazon-redshift-utils/blob/master/src/AdminViews/v_extended_table_info.sql正如您所指出的那样,历史只在有限的时期内举行。

SELECT tbl,
       MAX(endtime) last_scan,
       Nvl(COUNT(DISTINCT query || LPAD(segment,3,'0')),0) num_scans
FROM stl_scan s
WHERE s.userid > 1
AND   s.tbl IN (SELECT oid FROM tbl_ids)
GROUP BY tbl

答案 1 :(得分:-1)

您很可能必须解析STL_QUERYTEXT中存储SQL查询的条目。

解析STL_EXPLAIN可能更容易。

这两个表都可以连接回STL_QUERY以获取执行查询的时间。