Re: Benchmarking partitioning triggers and rules - Mailing list pgsql-general

From Tim Uckun
Subject Re: Benchmarking partitioning triggers and rules
Date
Msg-id CAGuHJrMy0_dKkPVm5fuhH3-03DPxHR7g+O_mKRCCxTSp_fnuBA@mail.gmail.com
Whole thread Raw
In response to Re: Benchmarking partitioning triggers and rules  (Adrian Klaver <adrian.klaver@aklaver.com>)
Responses Re: Benchmarking partitioning triggers and rules
List pgsql-general
So is there a third and even faster way of doing this?

On Wed, Apr 8, 2015 at 4:08 PM, Adrian Klaver <adrian.klaver@aklaver.com> wrote:
On 04/07/2015 07:49 PM, Tim Uckun wrote:
I understand that there is overhead involved in parsing the strings and
such.  The amount of overhead was surprising to me but that's another
matter.  What I am really puzzled about is the difference between the
statements

EXECUTE  'INSERT INTO ' ||  quote_ident(partition_name) ||  ' SELECT
($1).*' USING NEW ;

and

   EXECUTE  'INSERT INTO ' ||  quote_ident(partition_name) ||  ' VALUES
(($1).*)' USING NEW ;


Offhand I would say because in the first case you are doing a SELECT and in the second you are just doing a substitution.



They both do string interpolation but one is significantly faster than
the other.   Is there a third and even faster way?

I am using RDS so I can't really do stored procs in C.



--
Adrian Klaver
adrian.klaver@aklaver.com

pgsql-general by date:

Previous
From: Keith Fiske
Date:
Subject: Background worker assistance & review
Next
From: "Vasudevan, Ramya"
Date:
Subject: Re: Finding values of bind variables