使用 SVL_QUERY_REPORT 视图 - Amazon Redshift

使用 SVL_QUERY_REPORT 视图

要按切片分析查询摘要信息,请执行以下操作:

  1. 运行以下命令以确定查询 ID:

    select query, elapsed, substring from svl_qlog order by query desc limit 5;

    检查 substring 字段中的截断查询文本来确定哪些 query 值代表您的查询。如果您已多次运行查询,请使用具有较低 elapsed 值的行中的 query 值。这是已编译的行。如果运行多个查询,则可以增大 LIMIT 子句使用的值,以确保将查询包含在内。

  2. 从查询的 SVL_QUERY_REPORT 中选择。按分段、步骤、elapsed_time 和行对结果进行排序:

    select * from svl_query_report where query = MyQueryID order by segment, step, elapsed_time, rows;
  3. 对于每个步骤,检查以查看处理的所有切片数是否与行数大致相同:

    此外,检查以查看所有切片所花费的时间是否大致相同:

    这些值存在较大的差异可能表明由于此特定查询的分配方式不佳而导致数据分布偏差。有关建议的解决方案,请参阅非最优数据分配