【问题标题】:Benchmarking Redshift Queries基准化 Redshift 查询
【发布时间】:2018-05-10 20:37:05
【问题描述】:

我想知道我的查询需要多长时间才能执行,以便我可以看到我的更改是否改善了运行时间。

只为整个查询的执行计时是不合适的,因为这也考虑到了在执行队列中等待所花费的(高度可变的)时间。

Redshift 提供STL_WLM_QUERY 表,其中包含用于队列等待时间和执行时间的单独列。但是,我的查询不能可靠地显示在此表中。例如,如果我多次执行相同的查询,则 STL_WLM_QUERY 中对应的行数通常远小于重复次数。有时,但并非总是如此,无论我多久运行一次查询,都只会生成一行。我怀疑正在进行一些缓存。

是否有更好的方法来查找 Redshift 查询的实际执行时间,或者至少有人可以解释在什么情况下会生成 STL_WLM_QUERY 中的一行?

【问题讨论】:

    标签: amazon-redshift benchmarking


    【解决方案1】:

    我的建议

    1. 如果可能,请确保您的查询根本没有等待,如果它有 stl_wlm_query 上应该有一行。如果它确实等待 - 然后重新运行 它。
    2. 运行一次查询以编译它,然后第二次进行基准测试 它。编译时间可能很长​​li>
    3. 禁用新的查询结果缓存功能(如果您还拥有 - 你可能不知道) (https://aws.amazon.com/about-aws/whats-new/2017/11/amazon-redshift-introduces-result-caching-for-sub-second-response-for-repeat-queries/)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-19
      相关资源
      最近更新 更多