El lun, 08-02-2016 a las 10:04 +0000, Gustav Karlsson escribió: > Additional information: > > The problematic row has likely received many hot updates (100k+). > Could this be a likely explanation for the high execution time? > > Could you check if autovacuum is doing its job with this query: select * from pg_stat_user_tables where relname='konto' , is it last_autovaccum and last_autoanalyze recent ? if you don't reduce n_dead_tup in a short time after the bulk process of hot update, it will be a explanation, and also a "idle in transaction" connection could cause it. This link: https://brandur.org/postgres-queues could help you.
> > > Regards, > > Gustav > > > > > > > > > > > > > On Feb 8, 2016, at 10:45 AM, Gustav Karlsson <gustav.karls...@bekk.no> > > wrote: > > > > > > > > > > Hi, > > > > > > > > Question: > > > > > > > > What may cause a primary key index to suddenly become very slow? Index scan > > for single row taking 2-3 seconds. A manual vacuum resolved the problem. > > > > > > > > > > > > Background: > > > > > > > > We have a simple table ‘KONTO’ with about 600k rows. > > > > > > > > > > > > > > Column | Type | Modifiers > > > > ------------------------------+-----------------------------+--------------- > > > > id | bigint | not null > > > > > > ... > > > > > > > > > > Indexes: > > > > "konto_pk" PRIMARY KEY, btree (id) > > > > > > ... > > > > > > > > > > > > Over the weekend we experienced that lookups using the primary key index > > (‘konto_pk’) became very slow, in the region 2-3s for fetching a single > > record: > > > > > > > > > > QUERY PLAN > > > > Index Scan using konto_pk on konto (cost=0.42..6.44 rows=1 width=164) > > (actual time=0.052..2094.549 rows=1 loops=1) > > > > Index Cond: (id = 2121172829) > > > > Planning time: 0.376 ms > > > > Execution time: 2094.585 ms > > > > > > > > > > > > > > After a manual Vacuum the execution time is OK: > > > > > > > > > > QUERY PLAN > > > > Index Scan using konto_pk on konto (cost=0.42..6.44 rows=1 width=164) > > (actual time=0.037..2.876 rows=1 loops=1) > > > > Index Cond: (id = 2121172829) > > > > Planning time: 0.793 ms > > > > Execution time: 2.971 ms > > > > > > > > > > > > > > So things are working OK again, but we would like to know what may cause > > such a degradation of the index scan, to avoid this happening again? (We > > are using Postgresql version 9.4.4) > > > > > > > > > > > > > > > > Regards, > > > > Gustav > > > > > > > > > > > > > > >