X-Original-To: pgsql-sql@postgresql.org Received: from localhost (postgresql.org [64.49.215.8]) by postgresql.org (Postfix) with ESMTP id 2AD7C47590C for ; Thu, 6 Feb 2003 14:20:49 -0500 (EST) Received: from brasileiro.net (slxwy.dorms.usu.edu [129.123.227.56]) by postgresql.org (Postfix) with ESMTP id 9D92C4758E1 for ; Thu, 6 Feb 2003 14:20:48 -0500 (EST) Received: from roberto by brasileiro.net with local (Exim 3.35 #1 (Debian)) id 18grgV-0007wu-00; Thu, 06 Feb 2003 12:27:43 -0700 Date: Thu, 6 Feb 2003 12:27:43 -0700 From: Roberto Mello To: Sam Iam Cc: pgsql-sql@postgresql.org Subject: Re: get # of rows while doing SELECT with LIMIT at same time ? Message-ID: <20030206192743.GA30532@cc.usu.edu> References: Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4i X-message-flag: Please consider using an e-mail program other than Outlook. It's insecure. X-Virus-Scanned: by AMaViS new-20020517 X-Archive-Number: 200302/129 X-Sequence-Number: 11527 On Thu, Feb 06, 2003 at 04:01:12AM -0800, Sam Iam wrote: > In web applications like say searching it's common to show page sized > subsets of a larger result set from a query. > > It usually takes one query to get the count of the # of results in the > query set & another query to get a page sized subset of items to show. > > SELECT COUNT(*) FROM albums alb, artists art > WHERE alb.artist_id=art.artist_id AND art.artist_name = 'U2' > > SELECT alb.album_name, art.artist_name FROM albums alb, artists art > WHERE alb.artist_id=art.artist_id AND art.name = 'U2' LIMIT 0,10 > > I suspect that since it takes much of the same work to do the count as > it does to do the select it'd be faster to be able to get the total > count & the limited result set in one query. In OpenACS we just grab a mid-sized chunk and cache it in RAM. Users usually only look at the first few pages, so it suffices for most cases. -Roberto -- +----| Roberto Mello - http://www.brasileiro.net/ |------+ + Computer Science Graduate Student, Utah State University + + USU Free Software & GNU/Linux Club - http://fslc.usu.edu/ + (I)gnore (R)etry (A)bort (M)eltdown