Re: index not being used

From: Reynard Hilman <reynardmh(at)lightsky(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: index not being used
Date: 2002-12-14 22:17:35
Message-ID: 3DFBADFF.5020901@lightsky.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

you're right about the int8 Nigel,

select * from test_10million where id = 123::int8 and app_id = 100;

does solve the problem (only takes 2.88 msec).
I forgot to mention that I use different table for the 1 million records, and it does use int4, so that explains why index works for that table.

thanks,
- reynard

Nigel J. Andrews wrote:

>On Sat, 14 Dec 2002, Doug Fields wrote:
>
>
>>You're missing an analyze step: (see below)
>>
>>
>>>here is the table structure:
>>>create table test_10million (
>>>id int8,
>>>app_id int8
>>>);
>>>
>>>< fill the table with 10 million record >
>>>
>>>create index test_10million_id on test_10million (id);
>>>
>>>
>>ANALYZE test_10million;
>>
>>
>>>this query always uses sequential scan:
>>>select * from test_10million where id = 123 and app_id = 100;
>>>
>>>
>>Now try
>>
>>explain select * from test_10million where id = 123 and app_id = 100
>>
>
>Not forgetting of course that the numbers used in the tests will probably need
>to be cast to int8 or quoted to make into text constants before the index is
>used. I'm surprised the 1 million row test used the index. Unless this is in
>7.3 and the behaviour has changed (which I can't remember about).
>
>

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Egyud Csaba 2002-12-14 22:53:50 Re: Where are my tables physically in the fs?
Previous Message Marc 2002-12-14 21:55:34 Re: sourceforge move to DB2