Re: Index selection on a large table - Mailing list pgsql-sql

From Tom Lane
Subject Re: Index selection on a large table
Date
Msg-id 8873.964567839@sss.pgh.pa.us
Whole thread Raw
In response to Index selection on a large table  ("Michael Richards" <michael@fastmail.ca>)
List pgsql-sql
"Michael Richards" <michael@fastmail.ca> writes:
> The following query yeilds the questionable query plan:

> explain select * from logins where ip='38.30.141.44';
> NOTICE:  QUERY PLAN:
> Seq Scan on logins  (cost=0.00..25248.51 rows=11602 width=48)

If there really were 11602 matching rows, the seq scan likely would be
the way to go.  So the issue here is poor selectivity estimation.

You said you did a VACUUM, but you didn't mention if you'd ever done
a VACUUM ANALYZE.  That looks to me like it's using the default 1%
selectivity estimate, which is what you'd get if you hadn't ever
done an ANALYZE.

If you have done one, what do you get from

select attname,attdisbursion,s.*
from pg_statistic s, pg_attribute a, pg_class c
where starelid = c.oid and attrelid = c.oid and staattnum = attnum
and relname = 'logins';

?
        regards, tom lane


pgsql-sql by date:

Previous
From: Tom Lane
Date:
Subject: Re: pg_dump
Next
From: Bernie Huang
Date:
Subject: Change attribute of a column