首页 > 解决方案 > 快速找出 TSTZRANGE 列的 LOWER-bound 的 MAX

问题描述

在 Postgres 9.6 上,有没有办法在TSTZRANGEcol 上优化以下查询?

SELECT MAX(LOWER(date_range)) FROM tbl;

在 26M 行的表上大约需要 5 秒。

我试过添加一个表达式索引:

CREATE INDEX tbl_expr_idx ON tbl((LOWER(date_range)) timestamptz_ops);

但这似乎并没有被使用:

Aggregate  (cost=775505.00..775505.01 rows=1 width=8)
  ->  Seq Scan on tbl  (cost=0.00..644984.00 rows=26104200 width=22)

标签: postgresql

解决方案


推荐阅读