Received: from localhost (maia-2.hub.org [200.46.204.187]) by postgresql.org (Postfix) with ESMTP id B62AD9FA2CB for ; Thu, 30 Nov 2006 21:16:01 -0400 (AST) Received: from postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.204.187]) (amavisd-new, port 10024) with ESMTP id 58113-05 for ; Thu, 30 Nov 2006 21:15:50 -0400 (AST) X-Greylist: from auto-whitelisted by SQLgrey-1.7.4 Received: from lynet.oppetid.no (oppetid.no [80.65.51.2]) by postgresql.org (Postfix) with ESMTP id B37609FA2CA for ; Thu, 30 Nov 2006 21:15:55 -0400 (AST) Received: by lynet.oppetid.no (Postfix, from userid 1019) id 4D62311AFE4; Fri, 1 Dec 2006 02:15:54 +0100 (CET) Date: Fri, 1 Dec 2006 02:15:54 +0100 From: Tobias Brox To: nospam@hardgeus.com Cc: Paul Lathrop , pgsql-performance@postgresql.org Subject: Re: Defining performance. Message-ID: <20061201011554.GA27123@oppetid.no> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Organization: Group Nordicbet User-Agent: Mutt/1.5.9i X-Virus-Scanned: Maia Mailguard 1.0.1 X-Archive-Number: 200611/282 X-Sequence-Number: 22052 [nospam@hardgeus.com - Thu at 06:37:12PM -0600] > As my dataset has gotten larger I have had to throw more metal at the > problem, but I have also had to rethink my table and query design. Just > because your data set grows linearly does NOT mean that the performance of > your query is guaranteed to grow linearly! A sloppy query that runs OK > with 3000 rows in your table may choke horribly when you hit 50000. Then some limit is hit ... either the memory cache, or that the planner is doing an unlucky change of strategy when hitting 50000. Anyway, it's very important when testing queries that they actually are tested on a (copy of the) production database, and not on an empty database or a database containing some random test data. If testing queries off the production database, it's important to have equal hardware and configuration on both servers.