redshift sql current_date get_date() 性能问题

Posted

技术标签:

【中文标题】redshift sql current_date get_date() 性能问题【英文标题】:redshift sql current_date get_date() performance issue 【发布时间】:2016-05-09 15:15:14 【问题描述】:

我想知道在redshift SQL上使用current_dateget_date()函数与直接使用'2016-05-05'相比是否会降低查询性能。

示例 1:

选择 * 从 表一 其中时间 >= current_date - 1 和时间

示例 2:

选择 * 从表 a 其中时间 >='2016-05-08' 和时间

示例 1 或示例 2 的性能会更好吗?还是两者都一样?

希望有人能解释一下

【问题讨论】:

【参考方案1】:

我刚刚遇到了这个,所以我将分享我的轶事经验:

select * from table where ts > current_date limit 20 运行了 10 多分钟,然后我不耐烦并杀死了它。

select * from table where ts > '2017-06-08' limit 20 在 16 秒内完成。

表在ts上有一个排序键,并且是新分析的

【讨论】:

以上是关于redshift sql current_date get_date() 性能问题的主要内容,如果未能解决你的问题,请参考以下文章

第三十五章 SQL函数 CURRENT_DATE

Amazon Redshift - 在 where 条件下的变量

Oracle SQL - 根据 current_date 更改 WHERE 条件

如何使用 where < current_date sql?

JPQL SQL Server CURRENT_DATE 语法不正确

sql 语句系列(闰年)[八百章之第十九章]