Thread: 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