【问题标题】:How to disable using cache results in Redshift Query?如何在 Redshift Query 中禁用使用缓存结果?
【发布时间】:2019-02-21 10:47:49
【问题描述】:

我有兴趣在 Redshift 中对我的查询进行性能测试。

我想禁止查询使用之前查询的任何缓存结果。换句话说,我希望查询从头开始运行。是否可以仅在执行我的查询时禁用缓存结果?

我不想为整个数据库/所有查询禁用缓存结果。

【问题讨论】:

  • 我相信您知道这一点,但您还需要确保您了解编译时间和内存使用情况。即使使用“SET enable_result_cache_for_session TO OFF;”在第一次执行时,您的性能仍然会比后续执行时慢得多。在正常情况下(除非您的 sql 是生成的并且是高度动态的),您应该排除第一次运行来进行基准测试。

标签: sql amazon-web-services amazon-redshift


【解决方案1】:
SET enable_result_cache_for_session TO OFF;

来自enable_result_cache_for_session - Amazon Redshift

指定是否使用查询结果缓存。如果enable_result_cache_for_sessionon,Amazon Redshift 会在提交查询时检查查询结果的有效缓存副本。如果在结果缓存中找到匹配项,Amazon Redshift 将使用缓存的结果并且不执行查询。如果 enable_result_cache_for_sessionoff,Amazon Redshift 会忽略结果缓存并在提交时执行所有查询。

【讨论】:

    猜你喜欢
    • 2021-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-06
    • 1970-01-01
    • 2014-10-22
    • 2022-01-27
    相关资源
    最近更新 更多