Re: Planner Row Estimate with Function

From: Michael Fork <mfork00(at)yahoo(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Planner Row Estimate with Function
Date: 2009-12-30 03:51:38
Message-ID: 925224.54894.qm@web59002.mail.re1.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

springboard_v2=# SELECT version();
version
--------------------------------------------------------------------------------------------------
PostgreSQL 8.3.7 on amd64-portbld-freebsd7.2, compiled by GCC cc (GCC) 4.2.1 20070719 [FreeBSD]
(1 row)

Yes, this is partial index. I should have included the index definition earlier:

# CREATE INDEX CONCURRENTLY idx_event_card_id ON trail.event(parsecardidfromreferencecode(reference_code)) WHERE type = 'CREDIT'; Thanks.

Michael

----- Original Message ----
From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Michael Fork <mfork00(at)yahoo(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Sent: Tue, December 29, 2009 3:43:06 PM
Subject: Re: [GENERAL] Planner Row Estimate with Function

Michael Fork <mfork00(at)yahoo(dot)com> writes:
> I have an index scan on a custom function that is returning a wildly incorrect row estimate that is throwing off the rest of the query planning. The result of the function is roughly unique - there are a handful with multiple entries - but the planner is estimating 227,745 rows. I re-ran ANALYZE on the table and the results did not change. Any suggestions on how to get more accurate planner result?

What PG version is this exactly?

Also, what happened to the type='CREDIT' condition in your query? Is
that a partial index?

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Michael Fork 2009-12-30 03:56:09 Re: Planner Row Estimate with Function
Previous Message Tom Lane 2009-12-30 03:47:58 Re: Idle processes chewing up CPU?