From: | "Jim C(dot) Nasby" <jim(at)nasby(dot)net> |
---|---|
To: | Matthew Peters <matthew(at)haydrian(dot)com> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-performance(at)postgresql(dot)org |
Subject: | Re: Stored procedure slower than sql? |
Date: | 2006-10-26 19:19:18 |
Message-ID: | 20061026191918.GE26892@nasby.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance |
The planner has no idea what $1 and $2 are when it plans the query, so
that could easily explain why the performance is different. You can
prepare statements in psql (at least in 8.1), which would be a good way
to verify that theory (compare EXPLAIN for prepared vs. non).
On Thu, Oct 26, 2006 at 09:21:37AM -0700, Matthew Peters wrote:
> Parameterized.
>
> IE (very simplified)
>
> CREATE OR REPLACE FUNCTION my_function(IN param1 BIGINT, IN param2
> INTEGER)
> RETURNS my_type
> SECURITY DEFINER
> AS
> $$
> /* my_type = (a,b,c) */
> Select a,b,c
> FROM my_table
> WHERE indexed_column = $1
> AND partition_constraint_column = $2;
> $$
> LANGUAGE SQL;
>
>
>
>
> Matthew A. Peters
> Sr. Software Engineer, Haydrian Corp.
> matthew(at)haydrian(dot)com
> (mobile) 425-941-6566
> Haydrian Corp.
> -----Original Message-----
> From: Tom Lane [mailto:tgl(at)sss(dot)pgh(dot)pa(dot)us]
> Sent: Thursday, October 26, 2006 9:15 AM
> To: Matthew Peters
> Cc: pgsql-performance(at)postgresql(dot)org
> Subject: Re: [PERFORM] Stored procedure slower than sql?
> Importance: High
>
> "Matthew Peters" <matthew(at)haydrian(dot)com> writes:
> > How can a stored procedure containing a single query not implement the
> > same execution plan (assumption based on the dramatic performance
> > difference) that an identical ad-hoc query generates?
>
> Parameterized vs non parameterized query?
>
> regards, tom lane
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo(at)postgresql(dot)org so that your
> message can get through to the mailing list cleanly
>
--
Jim Nasby jim(at)nasby(dot)net
EnterpriseDB http://enterprisedb.com 512.569.9461 (cell)
From | Date | Subject | |
---|---|---|---|
Next Message | Gavin Hamill | 2006-10-26 20:35:56 | Re: VACUUMs take twice as long across all nodes |
Previous Message | Jim C. Nasby | 2006-10-26 19:17:29 | Re: VACUUMs take twice as long across all nodes |