Search Postgresql Archives

Re: Slow delete when many foreign tables are defined

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 1 December 2014 at 17:21, Giuseppe Sacco
<giuseppe@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
> Il giorno lun, 01/12/2014 alle 09.49 -0600, Andy Colson ha scritto:
>> On 12/1/2014 9:23 AM, Giuseppe Sacco wrote:

>> 2) Try inheritance.  I have no idea if it'll help, but I thought I'd
>> read someplace where the planner knew a little more about what types of
>> rows go into which tables.

Andy is referring to a feature called "constraint exclusion". I'm not
sure why that doesn't kick in with your table definition though.

If you get that working with your schema, your problem should be
solved. It's possible that it only works correctly with table
inheritance though.

> This would probably help, but we are blocked on ANSI SQL for easily
> porting our application to other DBMSes.

One thing that could speed up the lookups a little is to reverse your
primary keys on the child tables. Since type is a constant in them,
there's not really any point in searching for that first each time a
value needs to be looked up. Especially since in the child tables that
value has an incredibly bad selectivity: all rows have that value.

It's possible that it throws off the query planner.

That won't prevent those child tables from being checked against, but
it might alleviate the pain a bit.

-- 
If you can't see the forest for the trees,
Cut the trees and you'll see there is no forest.


-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux