Re: any way to use indexscan to get last X values with "order by Y limit X" clause?
Shridhar Daithankar <shridhar_daithankar@persistent.co.in>
From: "Shridhar Daithankar" <shridhar_daithankar@persistent.co.in>
To: pgsql-performance@postgresql.org
Date: 2003-06-15T14:31:38Z
Lists: pgsql-performance
On 15 Jun 2003 at 16:26, Tomaz Borstnar wrote: > > Here is the structure: <snip> > approved | character(1) | not null default 'N' > msgid | character(100) | not null default '' > modifystamp | integer | not null default '0' > userid | integer | not null default '0' > closed | smallint | default '0' > Indexes: tjavendanpri_key primary key btree (id), > tjavendan_approved btree (approved), <snip> > Here is the query: > SELECT thread, modifystamp, count(id) AS tcount, abstime(modifystamp) AS > latest, max(id) as maxid FROM tjavendan WHERE approved='Y' GROUP BY > thread, modifystamp ORDER BY modifystamp desc, thread desc limit 40 Question. The field approved seems to have boolean values. If probability of having either of value is 50%, I doubt planner will use index anyway. Even assuming all possible values of a char variable, the choice isn't too much, say if you have 1M row. Correct me if I am wrong. Bye Shridhar -- Either one of us, by himself, is expendable. Both of us are not. -- Kirk, "The Devil in the Dark", stardate 3196.1