Re: Query-plan for partitioned UPDATE/DELETE slow and swaps vmem compared to SELECT - Mailing list pgsql-performance

From Tom Lane
Subject Re: Query-plan for partitioned UPDATE/DELETE slow and swaps vmem compared to SELECT
Date
Msg-id 14012.1291443654@sss.pgh.pa.us
Whole thread Raw
In response to Query-plan for partitioned UPDATE/DELETE slow and swaps vmem compared to SELECT  (John Papandriopoulos <dr.jpap@gmail.com>)
Responses Re: Query-plan for partitioned UPDATE/DELETE slow and swaps vmem compared to SELECT  (John Papandriopoulos <dr.jpap@gmail.com>)
List pgsql-performance
John Papandriopoulos <dr.jpap@gmail.com> writes:
> I've found that a k-ary table inheritance tree works quite well to
> reduce the O(n) CHECK constraint overhead [1] in the query planner
> when enabling partition constraint exclusion.

Um ... you mean you're creating intermediate child tables for no reason
except to reduce the number of direct descendants of any one table?
That's an utter waste of time, because the first thing the planner will
do with an inheritance tree is flatten it.  Just create *one* parent
table and make all the leaf tables direct children of it.

> My machine swaps wildly when PostgreSQL plans an UPDATE or DELETE.

This is a strong hint that you've got way too many child tables.

            regards, tom lane

pgsql-performance by date:

Previous
From: John Papandriopoulos
Date:
Subject: Query-plan for partitioned UPDATE/DELETE slow and swaps vmem compared to SELECT
Next
From: John Papandriopoulos
Date:
Subject: Re: Query-plan for partitioned UPDATE/DELETE slow and swaps vmem compared to SELECT