die*_*cht 5 paraccel amazon-redshift
我注意到我第一次在RedShift上运行查询时需要3-10秒.当我再次运行相同的查询时,即使在WHERE条件中使用不同的参数,它也会快速运行(0.2秒).查询我在谈论在一个包含3个整数列的约1M行的表上运行.
由RedShift第一次运行时编译查询,然后重新使用编译后的代码,导致执行时间的巨大差异?
如果是 - 如何始终保持编译查询的缓存温暖?
还有一个问题:给出queryA和queryB.我们假设queryA首先被编译和执行.queryB与queryA有多相似,这样queryB的执行将使用为queryA编译的代码?
第一个问题的答案是肯定的。Amazon Redshift 编译查询代码并缓存它。编译后的代码在集群中的会话之间共享,因此在不同会话中使用不同参数的相同查询将运行得更快,因为没有开销。
他们还建议使用第二次执行查询的结果作为基准。
这个问题的答案和详细信息请参见以下链接。 http://docs.aws.amazon.com/redshift/latest/dg/c-compiled-code.html
| 归档时间: |
|
| 查看次数: |
2425 次 |
| 最近记录: |