如果我运行这两个查询:
select *
from public.table_name
where date_column = '2018-03-28'
limit 10
select *
from public.table_name
where date_column = current_date - 2
limit 10
第一个将很快返回,第二个将永远。检查更多后,似乎第一个是扫描整个表,第二个是正确检查索引。如何使用能够正确命中索引的动态日期调用?
版本:x86_64-pc-linux-gnu上的PostgreSQL 9.6.6,由gcc(GCC)4.8.2 20140120(Red Hat 4.8.2-16)编译,64位