Received: from localhost (maia-3.hub.org [200.46.204.184]) by postgresql.org (Postfix) with ESMTP id A5CC79FB858 for ; Thu, 12 Apr 2007 20:00:21 -0300 (ADT) Received: from postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.204.184]) (amavisd-maia, port 10024) with ESMTP id 56685-07 for ; Thu, 12 Apr 2007 20:00:07 -0300 (ADT) X-Greylist: from auto-whitelisted by SQLgrey-1.7.4 Received: from sss.pgh.pa.us (sss.pgh.pa.us [66.207.139.130]) by postgresql.org (Postfix) with ESMTP id AAE4C9FA38A for ; Thu, 12 Apr 2007 20:00:11 -0300 (ADT) Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) by sss.pgh.pa.us (8.13.6/8.13.6) with ESMTP id l3CN09dL009834; Thu, 12 Apr 2007 19:00:09 -0400 (EDT) To: Scott Marlowe cc: Steve , PostgreSQL Performance Subject: Re: Strangely Variable Query Performance In-reply-to: <1176416077.13754.26.camel@state.g2switchworks.com> References: <57271CC2-BCB1-4ACA-A177-4FF64F1BC33F@brandeis.edu> <16E9A17C-ADFA-43B2-B7EA-5C7A4D7E96D1@event-s.net> <0914C05F-BA1B-4A6C-A1B1-52256BC851A4@event-s.net> <1176396964.13754.16.camel@state.g2switchworks.com> <1176414724.13754.23.camel@state.g2switchworks.com> <1176416077.13754.26.camel@state.g2switchworks.com> Comments: In-reply-to Scott Marlowe message dated "Thu, 12 Apr 2007 17:14:37 -0500" Date: Thu, 12 Apr 2007 19:00:09 -0400 Message-ID: <9833.1176418809@sss.pgh.pa.us> From: Tom Lane X-Virus-Scanned: Maia Mailguard 1.0.1 X-Archive-Number: 200704/274 X-Sequence-Number: 24151 Scott Marlowe writes: > So there's a misjudgment of the number of rows returned by a factor of > about 88. That's pretty big. Since you had the same number without the > receipt date (I think...) then it's the encounter_id that's not being > counted right. I don't think that's Steve's problem, though. It's certainly misestimating, but nonetheless the cost estimate for the seqscan is 1902749.83 versus 14819.81 for the bitmap scan; it should've picked the bitmap scan anyway. I tried to duplicate the problem here, without any success; I get Bitmap Heap Scan on detail_summary ds (cost=422.01..801.27 rows=100 width=4) Recheck Cond: (encounter_id = ANY ('{8813186,8813187,8813188,8813189,8813190,8813191,8813192,8813193,8813194,8813195,8813196,8813197,8813198,8813199,8813200,8813201,8813202,8813203,8813204,8813205,8813206,8813207,8813208,8813209,8813210,8813211,8813212,8813213,8813214,8813215,8813216,8813217,8813218,8813219,8813220,8813221,8813222,8813223,8813224,8813225,8813226,8813227,8813228,8813229,8813230,8813231,8813232,8813233,8813234,8813235,8813236,8813237,8813238,8813239,8813240,8813241,8813242,8813243,8813244,8813245,8813246,8813247,8813248,8813249,8813250,8813251,8813252,8813253,8813254,8813255,8813256,8813257,8813258,8813259,8813260,8813261,8813262,8813263,8813264,8813265,8813266,8813267,8813268,8813269,8813270,8813271,8813272,8813273,8813274,8813275,8813276,8813277,8813278,8813279,8813280,8813281,8813282,8813283,8813284,8815534}'::integer[])) Filter: (receipt >= '1998-12-30'::date) -> Bitmap Index Scan on detail_summary_encounter_id_idx (cost=0.00..421.98 rows=100 width=0) Index Cond: (encounter_id = ANY ('{8813186,8813187,8813188,8813189,8813190,8813191,8813192,8813193,8813194,8813195,8813196,8813197,8813198,8813199,8813200,8813201,8813202,8813203,8813204,8813205,8813206,8813207,8813208,8813209,8813210,8813211,8813212,8813213,8813214,8813215,8813216,8813217,8813218,8813219,8813220,8813221,8813222,8813223,8813224,8813225,8813226,8813227,8813228,8813229,8813230,8813231,8813232,8813233,8813234,8813235,8813236,8813237,8813238,8813239,8813240,8813241,8813242,8813243,8813244,8813245,8813246,8813247,8813248,8813249,8813250,8813251,8813252,8813253,8813254,8813255,8813256,8813257,8813258,8813259,8813260,8813261,8813262,8813263,8813264,8813265,8813266,8813267,8813268,8813269,8813270,8813271,8813272,8813273,8813274,8813275,8813276,8813277,8813278,8813279,8813280,8813281,8813282,8813283,8813284,8815534}'::integer[])) so either this has been fixed by a post-8.2.3 bug fix (which I doubt, it doesn't seem familiar at all) or there's some additional contributing factor. Steve, are you using any nondefault planner parameters? regards, tom lane