Re: Optimizing nested loops in the query plan

From: Masaru Sugawara <rk73(at)echna(dot)ne(dot)jp>
To: Fran Fabrizio <ffabrizio(at)mmrd(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Optimizing nested loops in the query plan
Date: 2002-02-12 16:43:31
Message-ID: 20020213014157.02B6.RK73@echna.ne.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Mon, 11 Feb 2002 12:25:25 -0500
Fran Fabrizio <ffabrizio(at)mmrd(dot)com> wrote:

> Thank you, it was this step that really made the difference! It runs in
> 0.64 seconds now.
>
> Interestingly, adding with (iscachable) to the findregion() function
> made the query run twice as slow (even after first execution). Strange.

Twice -- I don't know why that case slows down so much.
But index functions seem to need iscachable explicitly and strictly,
which is commented in the ../src/backend/commands/indexcmds.c after 7.2.

/*
* Require that the function be marked cachable. Using a noncachable
* function for a functional index is highly questionable, since if
* you aren't going to get the same result for the same data every
* time, it's not clear what the index entries mean at all.
*/
if (!func_iscachable(funcid))
elog(ERROR, "DefineIndex: index function must be marked iscachable");

Regards,
Masaru Sugawara

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Andrew Sullivan 2002-02-12 16:49:26 Re: Function to Pivot data
Previous Message Tom Lane 2002-02-12 15:54:35 Re: index use again and again