Received: from maia.hub.org (maia-3.hub.org [200.46.204.243]) by mail.postgresql.org (Postfix) with ESMTP id 2B9CF1337BCE for ; Thu, 3 Feb 2011 11:31:35 -0400 (AST) Received: from mail.postgresql.org ([200.46.204.86]) by maia.hub.org (mx1.hub.org [200.46.204.243]) (amavisd-maia, port 10024) with ESMTP id 33178-02 for ; Thu, 3 Feb 2011 15:31:27 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-iy0-f174.google.com (mail-iy0-f174.google.com [209.85.210.174]) by mail.postgresql.org (Postfix) with ESMTP id 2B71F1337BC2 for ; Thu, 3 Feb 2011 11:31:26 -0400 (AST) Received: by iyj18 with SMTP id 18so1165048iyj.19 for ; Thu, 03 Feb 2011 07:31:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=xdswF86xOXjRMa4zFerimOdfweYrN38Uzq+9zgNTiTc=; b=VYXupjsRKTYxxfsrASitfceBmXmsBwQRvETF06K0LwySeZAoGTdFgGiWb8wB47qn23 3DjvIBlo0uAb1VRs7Ud7rFt/Iab8TOCUtT/XviwM+6GQRFNtK1YoH6saDhBdFFcMZdRE 6o1fprtciALFNaGNF5CpCglyb3dYeuVPrwZNk= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=DDlwMUHJXSn+IfeRhytV3Q1+tmLQpBa+786Jf542lgGsCRKj9rFuTUT64Zb6PexQSB MKqGaX1zoHnqJnPFud/N2FBoRyoKgL3bhmBoZE97scyeEL2C65CZHXV2AA5z8/h2r8rb NCH/jdMkqJHFIFYhkX38QjJYCKLe0AWq8Nf78= MIME-Version: 1.0 Received: by 10.42.213.195 with SMTP id gx3mr515917icb.55.1296747087158; Thu, 03 Feb 2011 07:31:27 -0800 (PST) Received: by 10.42.164.74 with HTTP; Thu, 3 Feb 2011 07:31:27 -0800 (PST) In-Reply-To: <4D4A7B69.2020704@gmail.com> References: <201102012247.p11Ml6u02682@momjian.us> <4D48914B.4050403@dunslane.net> <4D489AD1.1010105@vmsinfo.com> <4D499E55.4020107@vmsinfo.com> <4D4A7B69.2020704@gmail.com> Date: Thu, 3 Feb 2011 10:31:27 -0500 Message-ID: Subject: Re: [HACKERS] Slow count(*) again... From: Robert Haas To: Vitalii Tymchyshyn Cc: Jon Nelson , Mladen Gogala , Andrew Dunstan , Bruce Momjian , Tom Lane , "david@lang.hm" , Craig Ringer , "pgsql-performance@postgresql.org" Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=-2.599 tagged_above=-10 required=5 tests=BAYES_00=-1.9, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7 X-Spam-Level: X-Archive-Number: 201102/77 X-Sequence-Number: 42215 On Thu, Feb 3, 2011 at 4:54 AM, Vitalii Tymchyshyn wrote= : > 02.02.11 20:32, Robert Haas =D0=BD=D0=B0=D0=BF=D0=B8=D1=81=D0=B0=D0=B2(= =D0=BB=D0=B0): >> >> Yeah. =C2=A0Any kind of bulk load into an empty table can be a problem, >> even if it's not temporary. =C2=A0When you load a bunch of data and then >> immediately plan a query against it, autoanalyze hasn't had a chance >> to do its thing yet, so sometimes you get a lousy plan. > > May be introducing something like 'AutoAnalyze' threshold will help? I me= an > that any insert/update/delete statement that changes more then x% of tabl= e > (and no less then y records) must do analyze right after it was finished. > Defaults like x=3D50 y=3D10000 should be quite good as for me. That would actually be a pessimization for many real world cases. Consider= : COPY COPY COPY COPY COPY COPY COPY COPY COPY COPY COPY COPY COPY SELECT --=20 Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company