Skip site navigation (1) Skip section navigation (2)

Re: [PATCHES] Partition: use triggers instead of rules

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Joshua D(dot) Drake" <jd(at)commandprompt(dot)com>
Cc: Michael Paesold <mpaesold(at)gmx(dot)at>, NikhilS <nikkhils(at)gmail(dot)com>, David Fetter <david(at)fetter(dot)org>, "Jonah H(dot) Harris" <jonah(dot)harris(at)gmail(dot)com>, PostgreSQL Docs <pgsql-docs(at)postgresql(dot)org>, PostgreSQL Patches <pgsql-patches(at)postgresql(dot)org>
Subject: Re: [PATCHES] Partition: use triggers instead of rules
Date: 2007-11-29 16:17:25
Message-ID: 14455.1196353045@sss.pgh.pa.us (view raw or flat)
Thread:
Lists: pgsql-docspgsql-patches
"Joshua D. Drake" <jd(at)commandprompt(dot)com> writes:
> Rules are extremely slow in comparisons and not anywhere near as 
> flexible. As I said up post yesterday... they work well in the basic 
> partitioning configuration but anything else they are extremely deficient.

I think that the above claim is exceedingly narrow-minded.  A trigger
will probably beat a rule for inserts/updates involving a small number
of rows.  For large numbers of rows, like an INSERT/SELECT from another
large table, the rule is likely to win, because its overhead is paid
once per query not once per row.  Also, if you implement the trigger
with an EXECUTE (forcing a planning cycle) intead of hard-coded
commands, the speed advantage becomes even more dubious.

			regards, tom lane

In response to

Responses

pgsql-docs by date

Next:From: Joshua D. DrakeDate: 2007-11-29 16:32:18
Subject: Re: [PATCHES] Partition: use triggers instead of rules
Previous:From: Michael PaesoldDate: 2007-11-29 16:06:29
Subject: Re: [DOCS] Partition: use triggers instead of rules

pgsql-patches by date

Next:From: Joshua D. DrakeDate: 2007-11-29 16:32:18
Subject: Re: [PATCHES] Partition: use triggers instead of rules
Previous:From: Michael PaesoldDate: 2007-11-29 16:06:29
Subject: Re: [DOCS] Partition: use triggers instead of rules

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group