Обсуждение: CPU cost of operators

Поиск
Список
Период
Сортировка

CPU cost of operators

От
Matthew Wakeling
Дата:
Episode umpteen of the ongoing saga with my GiST indexes.

For some reason, GiST uses loads of CPU. I have a query that runs entirely
out of cache, and it takes ages. This much I have tried to fix and failed
so far.

What I would now like to do is to tell postgres about it, so that the
EXPLAINs are correct. Is there a way to tell Postgres that an operator has
a large CPU cost? I can tell it what the join selectivity is, but I can't
find anything about CPU cost.

Matthew

--
 Unfortunately, university regulations probably prohibit me from eating
 small children in front of the lecture class.
                                        -- Computer Science Lecturer

Re: CPU cost of operators

От
Robert Haas
Дата:
On Wed, Sep 30, 2009 at 1:12 PM, Matthew Wakeling <matthew@flymine.org> wrote:
>
> Episode umpteen of the ongoing saga with my GiST indexes.
>
> For some reason, GiST uses loads of CPU. I have a query that runs entirely
> out of cache, and it takes ages. This much I have tried to fix and failed so
> far.
>
> What I would now like to do is to tell postgres about it, so that the
> EXPLAINs are correct. Is there a way to tell Postgres that an operator has a
> large CPU cost? I can tell it what the join selectivity is, but I can't find
> anything about CPU cost.

Not that I know of, but seems like it would be a reasonable extension.

...Robert

Re: CPU cost of operators

От
Robert Haas
Дата:
On Wed, Sep 30, 2009 at 4:13 PM, Robert Haas <robertmhaas@gmail.com> wrote:
> On Wed, Sep 30, 2009 at 1:12 PM, Matthew Wakeling <matthew@flymine.org> wrote:
>>
>> Episode umpteen of the ongoing saga with my GiST indexes.
>>
>> For some reason, GiST uses loads of CPU. I have a query that runs entirely
>> out of cache, and it takes ages. This much I have tried to fix and failed so
>> far.
>>
>> What I would now like to do is to tell postgres about it, so that the
>> EXPLAINs are correct. Is there a way to tell Postgres that an operator has a
>> large CPU cost? I can tell it what the join selectivity is, but I can't find
>> anything about CPU cost.
>
> Not that I know of, but seems like it would be a reasonable extension.

Er, wait... if you set the 'COST' parameter for the backing function,
does that work?
.
...Robert

Re: CPU cost of operators

От
Tom Lane
Дата:
Robert Haas <robertmhaas@gmail.com> writes:
> Er, wait... if you set the 'COST' parameter for the backing function,
> does that work?

It's supposed to...

            regards, tom lane

Re: CPU cost of operators

От
Matthew Wakeling
Дата:
On Wed, 30 Sep 2009, Robert Haas wrote:
> Er, wait... if you set the 'COST' parameter for the backing function,
> does that work?

Ah, right. I was looking at CREATE OPERATOR, not CREATE FUNCTION.

Thanks,

Matthew

--
 Bashir: The point is, if you lie all the time, nobody will believe you, even
         when you're telling the truth. (RE: The boy who cried wolf)
 Garak: Are you sure that's the point, Doctor?
 Bashir: What else could it be?                            -- Star Trek DS9
 Garak: That you should never tell the same lie twice.     -- Improbable Cause