【发布时间】:2021-12-16 13:57:18
【问题描述】:
考虑一个包含日期范围的持续时间字段的表。
有没有比以下方法更有效地查询持续时间已超过某个日期的记录:
SELECT * FROM mytable WHERE upper(duration) < '2021-11-01'::date;
我会想象在每一行上运行一个函数(上部)会比可以本机利用索引的东西慢吗?这是最有效的方法吗?
【问题讨论】:
-
类似
select daterange('2021-10-01', '2021-10-31', '()') << daterange('2021-11-01',null); t或select daterange('2021-10-01', '2021-10-31', '()') @> '2021-11-01'::date;?
标签: postgresql date-range