Re: function call vs staright query

From: Vincenzo Romano <vincenzo(dot)romano(at)gmail(dot)com>
To: pgsql-performance(at)postgresql(dot)org
Subject: Re: function call vs staright query
Date: 2007-03-18 07:12:48
Message-ID: 200703180812.49164.Vincenzo.Romano@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Hi all again.

I've seen that there has been another post similar to mine:
http://archives.postgresql.org/pgsql-performance/2007-03/msg00166.php

I understand that the query planner has less infos about the query
at the time the function is defined / loaded.
In my case in the query there is a "field like string" expression that seems
to be the performance killer.
If the string is 'SOMETING%' the straight query is fast. While '%SOMETING%'
makes the straight query be as slow as the function.
This thing clears part of the problem. The EXPLAIN actually explains a lot.

But the details should be complete at call time when the pattern string is
known. So at least the first case should have comparable performances for both
the straight query and the function call.

So my previous question becomes:

How can I delay the query planner decisions until the actual query is to be
done inside the function body?

Many thanks again for any hint.

On Sunday 18 March 2007 07:50 Vincenzo Romano wrote:
> Hi all.
>
> I'm experiencing a strange behaviour with 8.1.8 (cannot do upgrades to 8.2
> at the moment).
>
> On a 13+ million rows table I can do a query with results back in less than
> 100 ms. Result is a set of bigint.
> But when I encapsulate that query into an "SQL" function with three
> parameters the results come back in about one minute. The function contains
> just the same query as above.
> Of course there's been no change in indices or even into the table itself
> between the two tests.
>
> I'm almost sure I'm missing something, but have no clue about what!
> Any hint?

--
Vincenzo Romano
----
Maybe Computers will never become as intelligent as Humans.
For sure they won't ever become so stupid. [VR-1987]

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Vincenzo Romano 2007-03-18 09:59:19 text equality worse than pattern matching (v8.1.8)
Previous Message Vincenzo Romano 2007-03-18 06:50:54 function call vs staright query