But if you do build an index over "id" then pgsql would only have to do a sequential scan on that index, which might be a lot faster if your table contains a lot of other data, won't it?
Jerry ""Ed L."" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > On Saturday November 6 2004 7:34, Net Virtual Mailing Lists wrote: >> Is there a way to create an index that would make this query be efficient >> and not perform a sequential scan? >> >> SELECT count(*) AS count,id FROM sometable GROUP BY id; >> >> .. I've considered creating a rule on this table which would put the >> results of this into another table anytime it is updated, but I thought >> there might be an easier way. > > Since you have no "WHERE" clause and you want to group by id, I believe > pgsql has to scan all id values. Those id values are only fully stored in > the table, so I don't think so. > > Ed > > > ---------------------------(end of broadcast)--------------------------- > TIP 7: don't forget to increase your free space map settings > ---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faqs/FAQ.html