Postgres GIN指数表现退化

问题描述 投票:1回答:1

我在桌子上有一个Postgres GIN指数,t1,在JSONBa_col上。

CREATE INDEX i_1 ON t1 USING gin (t1.a_col)

这需要约2秒的查询运行时间到~50ms。

这个表有些活跃,每天需要大约1k个新行数据,没有更新/删除。

我看到的问题是这个索引的性能在几百次写入后急剧下降 - 查询性能回落到~2s。

运行reindex操作后问题得以解决。

REINDEX INDEX i_1

但这就留下了一个问题是什么推动指数运行如此糟糕?

postgresql performance indexing rds
1个回答
0
投票

在跑步的时候

select * from pg_stat_all_tables where relname = 't1'

我看到n_mod_since_analyze有超过2k排,last_autoanalyze已经好几天了。

通过将autovacuum_analyze_scale_factor的值从0.05下降到0.002autoanalyze开始经常移动并开始看到更稳定的表现。

© www.soinside.com 2019 - 2024. All rights reserved.