【问题标题】:Table ids missing in Redshift SVV_TABLE_INFO that should be there, looking at STL_QUERY and STL_SCANRedshift SVV_TABLE_INFO 中缺少的表 id 应该存在,查看 STL_QUERY 和 STL_SCAN
【发布时间】:2019-10-04 10:31:20
【问题描述】:

我正在调查 Redshift 查询及其扫描的表。 为此,我从 STL_QUERY 系统视图开始,然后加入 STL_SCAN 视图以添加查询扫描的表。

现在,当我调查查询语句时,我可以看到应该扫描一个真实的 Redshift 表,并查看 SELECT 语句。但是,STL_SCAN 数据显示了三个表(348、671 和 751341)

在这 3 个中,只有一个 (751341) 是通过加入 SVV_TABLE_INFO 找到的真实的。

另外两张表是什么?

【问题讨论】:

    标签: sql metadata amazon-redshift


    【解决方案1】:

    Redshift 将低编号的表 ID 分配给中间结果(查询步骤之间的投影、排序输出等)。在某些情况下,中间结果会写入磁盘,并且对这些结果的扫描在 stl_scan 中有一个条目。

    “查询分析工作流程”文档为查看 Redshift 查询提供了全面的指导。 https://docs.aws.amazon.com/redshift/latest/dg/c-query-analysis-process.html

    作为第一步,您可以先使用以下查询查看解释计划和查询摘要:

    --Explain Plan of a Given Query ID
    SELECT userid, query, plannode, info
    FROM stl_explain
    WHERE query IN (79639676)
    ORDER BY query, nodeid, parentid
    ;
    
    --Processing Summary of a Given Query ID
    SELECT *
    FROM svl_query_summary a
    WHERE query IN  (2251580)
    ORDER BY query, stm, seg, step
    ;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-06
      • 2016-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多