Re: partial indexed not being used.
| От | Tom Lane |
|---|---|
| Тема | Re: partial indexed not being used. |
| Дата | |
| Msg-id | 6801.1171290094@sss.pgh.pa.us обсуждение исходный текст |
| Ответ на | Re: partial indexed not being used. (Ron Arts <ron.arts@neonova.nl>) |
| Ответы |
Re: partial indexed not being used.
|
| Список | pgsql-novice |
Ron Arts <ron.arts@neonova.nl> writes:
> # select count(*) from cdr where billed = false;
> count
> -------
> 3
> (1 row)
>> =# explain select cdr.* from cdr where billed = false order by calldate;
>>
>> QUERY PLAN
>> -------------------------------------------------------------------
>> Sort (cost=37448.75..37526.94 rows=31273 width=465)
>> Sort Key: calldate
>> -> Seq Scan on cdr (cost=0.00..20323.81 rows=31273 width=465)
^^^^^^^^^^
>> Filter: (billed = false)
You haven't ANALYZEd this table (lately, or perhaps ever). The planner
is thus working with a default selectivity estimate (which I think is
50% for a bool column --- that seems to match your numbers anyway), and
that leads it to the conclusion that a seqscan is the right thing.
Which it would indeed be, if half the table has to be retrieved.
regards, tom lane
В списке pgsql-novice по дате отправления: