That's the answer! Thanks Doug. basement=# explain select * from game_developer where approved = 2; Seq Scan on game_developer (cost=0.00..1920.17 rows=48 width=46)
basement=# explain select * from game_developer where approved = int2(2); Index Scan using game_developer_approved on game_developer (cost=0.00..80.87 rows=48 width=46) ----- Original Message ----- From: "Doug McNaught" <[EMAIL PROTECTED]> To: "Brian Hirt" <[EMAIL PROTECTED]> Cc: <[EMAIL PROTECTED]>; "Brian A Hirt" <[EMAIL PROTECTED]> Sent: Sunday, September 30, 2001 7:36 PM Subject: Re: [GENERAL] question about indexing. > "Brian Hirt" <[EMAIL PROTECTED]> writes: > > > I have a table with about 1 million rows in it. One of the columns in this > > table is some sort of status (it's an int2). Out of the million rows, only > > about 100 of the rows have a status that is not like the rest. > > > Yes, i do vacuum the table. > > > > Does anyone know how to avoid all these table scans? > > Cast the value you're testing against in the query to int2 and you may > see an improvement. The planner isn't currently smart enough to > realize it can use the index when the test value in the query is an > int4. > > -Doug > -- > In a world of steel-eyed death, and men who are fighting to be warm, > Come in, she said, I'll give you shelter from the storm. -Dylan > ---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/users-lounge/docs/faq.html