首页 > 解决方案 > Postgres查询非常大的表,索引仍然很慢

问题描述

尽管对 mytable 进行了索引(mytable 有 > 60 M 条记录),但以下查询运行非常缓慢,recdate查询需要将近 7 分钟。

select to_char(recdate, 'yyyy'), count(*)
from mytable
group by to_char(recdate, 'yyyy')

标签: sqlpostgresqlindexing

解决方案


您没有提供执行计划,但我猜基于函数的索引将涵盖

CREATE INDEX mytable_idx ON mytable( to_char(recdate,'yyyy'));

询问:

select to_char(recdate,'yyyy'),count(*) 
from mytable 
group by to_char(recdate,'yyyy')

推荐阅读