Oops! [EMAIL PROTECTED] (Pavel Stehule) was seen spray-painting on a wall:
>
> Regards
> Pavel Stehule
>
> On Wed, 11 Feb 2004, David Teran wrote:
>
>> Hi
>> 
>> we have a table with about 4 million rows. One column has an int value, 
>> there is a btree index on it. We tried to execute the following 
>> statement and it is very slow on a dual G5 2GHZ with 4 GB of RAM.
>> 
>> explain analyze select count(*) from job_property where int_value = 0;
>> 
>> Aggregate  (cost=144348.80..144348.80 rows=1 width=0) (actual 
>> time=13536.852..13536.852 rows=1 loops=1)
>>    ->  Seq Scan on job_property  (cost=0.00..144255.15 rows=37459 
>> width=0) (actual time=19.422..13511.653 rows=42115 loops=1)
>>          Filter: (int_value = 0)
>> Total runtime: 13560.862 ms
>> 
> If you has  index on id, then you can use
> SELECT id FROM tabulka ORDER BY id DESC LIMIT 1;
>
> See 4.8. FAQ 

I'm afraid that's not the answer.  That would be the faster
alternative to "select max(id) from tabulka;"

I guess the question is, is there a faster way of coping with the
"int_value = 0" part?

It seems a little odd that the index was not selected; it appears that
the count was 42115, right?

The estimated number of rows was 37459, and if the table size is ~4M,
then I would have expected the query optimizer to use the index.

Could you try doing "ANALYZE JOB_PROPERTY;" and then try again?  

One thought that comes to mind is that perhaps the statistics are
outdated.

Another thought is that perhaps there are several really common
values, and the statistics are crummy.  You might relieve that by:

  alter table job_property alter column int_value set statistics 20;
  analyze job_property;

(Or perhaps some higher value...)

If there are a few very common discrete values in a particular field,
then the default statistics may get skewed because the histogram
hasn't enough bins...
-- 
let name="cbbrowne" and tld="acm.org" in name ^ "@" ^ tld;;
http://cbbrowne.com/info/wp.html
Rules of  the Evil  Overlord #102.  "I will not  waste time  making my
enemy's death look  like an accident -- I'm  not accountable to anyone
and my other enemies wouldn't believe it.

---------------------------(end of broadcast)---------------------------
TIP 7: don't forget to increase your free space map settings

Reply via email to