在 PostgreSQL 中,有一个包含数百万条记录的表 orders
,其中包含一个 order_date
字段,数据类型为 DATE
,该表中已经存在一个针对 order_date
的 B-tree 索引。
现在需要对过去一年的订单进行聚合查询:
SELECT COUNT(*)
FROM orders
WHERE order_date >= CURRENT_DATE - INTERVAL '1 year';
尽管已经有针对 order_date
的索引,查询依然非常慢。请原因,并提供优化方案。