Re: Select max(foo) and select count(*) optimization - Mailing list pgsql-performance

From Mark Kirkwood
Subject Re: Select max(foo) and select count(*) optimization
Date
Msg-id 3FFB0C6D.9020704@paradise.net.nz
Whole thread Raw
In response to Re: Select max(foo) and select count(*) optimization  ("D'Arcy J.M. Cain" <darcy@druid.net>)
List pgsql-performance
if this situation persists after 'analyze certificate', then you need to:

increase the statistics target 'alter table certificate alter column
certificate_id set statistics 100'

or

'vacuum full certificate'

i.e : there are lots of (dead) updated or deleted tuples in the
relation, distributed in such a way as to throw off analyze's estimate.

regards

Mark

D'Arcy J.M. Cain wrote:

>
>Well, I did this:
>
>cert=# select relpages,reltuples from pg_class where relname= 'certificate';
> relpages |  reltuples
>----------+-------------
>   399070 | 2.48587e+07
>(1 row)
>
>Casting seemed to help:
>
>cert=# select relpages,reltuples::bigint from pg_class where relname=
>'certificate';
> relpages | reltuples
>----------+-----------
>   399070 |  24858736
>(1 row)
>
>But:
>
>cert=# select count(*) from certificate;
>[*Crunch* *Crunch* *Crunch*]
>  count
>----------
> 19684668
>(1 row)
>
>Am I missing something?  Max certificate_id is 20569544 btw.
>
>
>


pgsql-performance by date:

Previous
From: Tom Lane
Date:
Subject: Re: Inefficient SELECT with OFFSET and LIMIT
Next
From: Michael Shapiro
Date:
Subject: PgAdmin startup query VERY slow