X-Original-To: pgsql-performance-postgresql.org@postgresql.org Received: from localhost (mx1.hub.org [200.46.208.251]) by postgresql.org (Postfix) with ESMTP id B17939FA646 for ; Thu, 24 Aug 2006 22:09:05 -0300 (ADT) Received: from postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.208.251]) (amavisd-new, port 10024) with ESMTP id 31031-07 for ; Thu, 24 Aug 2006 22:08:59 -0300 (ADT) X-Greylist: from auto-whitelisted by SQLgrey- Received: from lists.commandprompt.com (host-130.commandprompt.net [207.173.203.130]) by postgresql.org (Postfix) with ESMTP id 5D4319FB24D for ; Thu, 24 Aug 2006 22:08:59 -0300 (ADT) Received: from [192.168.1.50] (or-67-76-146-141.sta.embarqhsd.net [67.76.146.141]) (authenticated bits=0) by lists.commandprompt.com (8.13.7/8.13.6) with ESMTP id k7P18oWS013576 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 24 Aug 2006 18:08:56 -0700 Message-ID: <44EE4DA1.5060701@commandprompt.com> Date: Thu, 24 Aug 2006 18:08:49 -0700 From: "Joshua D. Drake" Organization: Command Prompt, Inc. User-Agent: Thunderbird 1.5.0.5 (X11/20060728) MIME-Version: 1.0 To: Sriram Dandapani CC: "Pgsql-Performance (E-mail)" Subject: Re: select max(column) from parent table very slow References: <6992E470F12A444BB787B5C937B9D4DF057500BF@ca-mail1.cis.local> In-Reply-To: <6992E470F12A444BB787B5C937B9D4DF057500BF@ca-mail1.cis.local> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV version 0.88.3, clamav-milter version 0.88.3 on projects.commandprompt.com X-Virus-Status: Clean X-Greylist: Sender succeded SMTP AUTH authentication, not delayed by milter-greylist-1.6 (lists.commandprompt.com [192.168.2.159]); Thu, 24 Aug 2006 18:08:56 -0700 (PDT) X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=0.212 tagged_above=0 required=5 tests=AWL, FORGED_RCVD_HELO X-Spam-Level: X-Archive-Number: 200608/401 X-Sequence-Number: 20586 Sriram Dandapani wrote: > Parent table has a column say column1 which is indexed (parent table and > all child tables are indexed on that column) > Do you mean? select max(foo) from bar; In older versions of postgresql that would scan the whole table. In 8.1 and above it doesn't. However, I am guess that since this is a partitioned table the planner isn't smart enough to just perform the query on each child and a max on the set that is returned. Thus you are scanning each table completely. But that is just a guess. Joshua D. Drake > > > When a select max(column1) is done on parent table..takes a very long > time to get back with the result > > The same query on a child table gives instantaneous response (the tables > are quite large appx.each child table has about 20-30 million rows) > > > > Constraint exclusion is turned on. The column is not the basis for > partitioning. Postgres 8.1.2 -- === The PostgreSQL Company: Command Prompt, Inc. === Sales/Support: +1.503.667.4564 || 24x7/Emergency: +1.800.492.2240 Providing the most comprehensive PostgreSQL solutions since 1997 http://www.commandprompt.com/