| From: | "Scott Marlowe" <smarlowe(at)qwest(dot)net> | 
|---|---|
| To: | "Dan Pelleg" <daniel+pgsql(at)pelleg(dot)org> | 
| Cc: | pgsql-general(at)postgresql(dot)org | 
| Subject: | Re: index not used? | 
| Date: | 2004-10-20 15:44:06 | 
| Message-ID: | 1098287046.21035.45.camel@localhost.localdomain | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-general | 
On Wed, 2004-10-20 at 08:06, Dan Pelleg wrote:
> I'm trying to access a table with about 120M rows. It's a vertical version
> of a table with 360 or so columns. The new columns are: original item col,
> original item row, and the value.
> 
> I created an index:
> 
> CREATE INDEX idx on table (col, row)
> 
> however, selects are still very slow. It seems it still needs a sequential
> scan:
> 
> EXPLAIN SELECT * FROM table WHERE col=1 AND row=10;
>                                   QUERY PLAN                                  
> ------------------------------------------------------------------------------
>  Seq Scan on table  (cost=100000000.00..102612533.00 rows=1 width=14)
>    Filter: ((col = 1) AND ("row" = 10))
> 
> What am I doing wrong?
What type are row and col?  If they're bigint (i.e. not int / int4) then
you might need to quote the value to get the query to use an index:
SELECT * FROM table WHERE col='1' AND row='10';
also, have you vacuumed / analyzed the table? I'm assuming yes.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Dan Pelleg | 2004-10-20 15:45:26 | Re: index not used? | 
| Previous Message | Randall Perry | 2004-10-20 15:40:49 | Upgrade to Win XP Service Pak 2 SP2 causes connection failure |