Re: pl/pgsql faster than raw SQL?

From: Richard Huxton <dev(at)archonet(dot)com>
To: Markus Bertheau ☭ <twanger(at)bluetwanger(dot)de>
Cc: "pgsql-performance(at)postgresql(dot)org" <pgsql-performance(at)postgresql(dot)org>
Subject: Re: pl/pgsql faster than raw SQL?
Date: 2005-03-08 12:48:32
Message-ID: 422D9F20.2040104@archonet.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Markus Bertheau ☭ wrote:
> oocms=# explain analyze select count(1) from objects where class = 'Picture';
> QUERY PLAN
> ----------------------------------------------------------------------------------------------------------------
> Aggregate (cost=278.16..278.16 rows=1 width=0) (actual time=44.121..44.123 rows=1 loops=1)
> -> Seq Scan on objects (cost=0.00..267.65 rows=4205 width=0) (actual time=0.030..33.325 rows=4308 loops=1)
> Filter: ("class" = 'Picture'::text)
> Total runtime: 44.211 ms
> (записей: 4)
>
> oocms=# explain analyze select class_get_number_of_objects('Picture');
> QUERY PLAN
> --------------------------------------------------------------------------------------
> Result (cost=0.00..0.01 rows=1 width=0) (actual time=27.019..27.022 rows=1 loops=1)
> Total runtime: 27.062 ms

Well, you're saving planning time with the plpgsql version, but that's
not going to come to 17ms (you'd hope). The EXPLAIN will take up time
itself, and it can look deeper into the SQL version. Try timing two
scripts with 100 of each and see if they really differ by that much.
--
Richard Huxton
Archonet Ltd

In response to

Browse pgsql-performance by date

  From Date Subject
Next Message Richard Huxton 2005-03-08 13:20:37 Re: bad plan
Previous Message Gaetano Mendola 2005-03-08 12:22:28 Re: bad plan