Re: Benchmarking partitioning triggers and rules

From: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
To: Tim Uckun <timuckun(at)gmail(dot)com>, Jim Nasby <Jim(dot)Nasby(at)bluetreble(dot)com>
Cc: Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>, pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: Benchmarking partitioning triggers and rules
Date: 2015-04-08 04:08:50
Message-ID: 5524A9D2.8000302@aklaver.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

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(dot)klaver(at)aklaver(dot)com

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Jim Nasby 2015-04-08 04:42:54 Re: Would like to know how analyze works technically
Previous Message Tim Uckun 2015-04-08 02:49:37 Re: Benchmarking partitioning triggers and rules