Обсуждение: CPU cost of operators
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
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
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
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
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