Received: from localhost (maia-2.hub.org [200.46.204.187]) by postgresql.org (Postfix) with ESMTP id 1998E9FB793 for ; Wed, 6 Jun 2007 13:49:42 -0300 (ADT) Received: from postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.204.187]) (amavisd-maia, port 10024) with ESMTP id 30197-01 for ; Wed, 6 Jun 2007 13:49:36 -0300 (ADT) X-Greylist: from auto-whitelisted by SQLgrey-1.7.4 Received: from exchange.g2switchworks.com (mail.g2switchworks.com [63.87.162.25]) by postgresql.org (Postfix) with ESMTP id 7A4499FB776 for ; Wed, 6 Jun 2007 13:49:37 -0300 (ADT) Received: from [10.10.1.37] ([10.10.1.37]) by exchange.g2switchworks.com with Microsoft SMTPSVC(6.0.3790.1830); Wed, 6 Jun 2007 11:49:36 -0500 Message-ID: <4666E5A0.40604@g2switchworks.com> Date: Wed, 06 Jun 2007 11:49:36 -0500 From: Scott Marlowe User-Agent: Thunderbird 1.5.0.4 (X11/20060516) MIME-Version: 1.0 To: Craig James CC: pgsql-performance@postgresql.org Subject: Re: Thousands of tables versus on table? References: <1180980943.31471.322.camel@archimedes> <46645DD9.7030805@soliantconsulting.com> <877iqjmro5.fsf@oxford.xeocode.com> <46647427.4030103@g2switchworks.com> <466593E5.1010904@g2switchworks.com> <87sl96z0wf.fsf@oxford.xeocode.com> <10525.1181080765@sss.pgh.pa.us> <4666DF99.3010809@emolecules.com> In-Reply-To: <4666DF99.3010809@emolecules.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-OriginalArrivalTime: 06 Jun 2007 16:49:36.0366 (UTC) FILETIME=[AA74E8E0:01C7A85A] X-Virus-Scanned: Maia Mailguard 1.0.1 X-Archive-Number: 200706/97 X-Sequence-Number: 25130 Craig James wrote: > > Oracle is simply not better than Postgres in this regard. As far as I > know, there is only one specific situation (discussed frequently here) > where Oracle is faster: the count(), min() and max() functions, and I > know significant progress has been made since I started using > Postgres. I have not found any other query where Oracle is > significantly better, and I've found several where Postgres is the > clear winner. In my testing between a commercial database that cannot be named and postgresql, I found max() / min() to be basically the same, even with where clauses and joins happening. count(*), OTOH, is a still a clear winner for the big commercial database. With smaller sets (1 Million or so) both dbs are in the same ballpark. With 30+million rows, count(*) took 2 minutes on pgsql and 4 seconds on the big database. OTOH, there are some things, like importing data, which are MUCH faster in pgsql than in the big database.