Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.72) (envelope-from ) id 1TtIEw-0005tu-Lc for pgsql-performance@arkaria.postgresql.org; Thu, 10 Jan 2013 13:32:15 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.72) (envelope-from ) id 1TtIEv-0006WK-KO for pgsql-performance@arkaria.postgresql.org; Thu, 10 Jan 2013 13:32:13 +0000 Received: from magus.postgresql.org ([87.238.57.229]) by malur.postgresql.org with esmtp (Exim 4.72) (envelope-from ) id 1TtIEu-0006WE-Hw for pgsql-performance@postgresql.org; Thu, 10 Jan 2013 13:32:12 +0000 Received: from mx3.wp.pl ([212.77.101.7]) by magus.postgresql.org with esmtp (Exim 4.72) (envelope-from ) id 1TtIEs-0000J0-17 for pgsql-performance@postgresql.org; Thu, 10 Jan 2013 13:32:12 +0000 Received: (wp-smtpd smtp.wp.pl 15570 invoked from network); 10 Jan 2013 14:32:05 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wp.pl; s=1024a; t=1357824725; bh=ZHDhETz5/+KZZu4CmyEVp2YYGtMIhSX4an+QIElMdog=; h=From:To:Subject; b=d1A/3k4yTmdqYvJEE+/2ATKDdNpalET1icGR/dS3KZTSh62CCutOKH2y15Dm5z2Ei 767PcWhR49RxseIXxwHsb6wIm6JMZFB87gEcXGwuZlMPNLUfW1hfRYtX6wXW9O/G/3 rlbY6HhwPrpTrsg/ig5Ik4HrKHFqP9oBIsAeozII= Received: from bramka-zew.dfqs.pl (HELO [192.168.20.69]) (zawadaa@[194.126.222.22]) (envelope-sender ) by smtp.wp.pl (WP-SMTPD) with CAMELLIA256-SHA encrypted SMTP for ; 10 Jan 2013 14:32:05 +0100 Message-ID: <50EEC2D5.3050602@wp.pl> Date: Thu, 10 Jan 2013 14:32:05 +0100 From: Andrzej Zawadzki User-Agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/17.0 Icedove/17.0 MIME-Version: 1.0 To: pgsql-performance@postgresql.org Subject: Slow query after upgrade from 9.0 to 9.2 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-WP-AV: skaner antywirusowy poczty Wirtualnej Polski S. A. X-WP-SPAM: NO 0000000 [EUME] X-Pg-Spam-Score: -2.0 (--) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-performance Precedence: bulk Sender: pgsql-performance-owner@postgresql.org Hi! Small query run on 9.0 very fast: SELECT * from sygma_arrear sar where sar.arrear_import_id = ( select sa.arrear_import_id from sygma_arrear sa, arrear_import ai where sa.arrear_flag_id = 2 AND sa.arrear_import_id = ai.id AND ai.import_type_id = 1 order by report_date desc limit 1) AND sar.arrear_flag_id = 2 AND sar.credit_id = 3102309 "Index Scan using sygma_arrear_credit_id on sygma_arrear sar (cost=0.66..362.03 rows=1 width=265)" " Index Cond: (credit_id = 3102309)" " Filter: ((arrear_import_id = $0) AND (arrear_flag_id = 2))" " InitPlan 1 (returns $0)" " -> Limit (cost=0.00..0.66 rows=1 width=8)" " -> Nested Loop (cost=0.00..3270923.14 rows=4930923 width=8)" " -> Index Scan Backward using report_date_bank_id_key on arrear_import ai (cost=0.00..936.87 rows=444 width=8)" " Filter: (import_type_id = 1)" *" -> Index Scan using sygma_arrear_arrear_import_id_idx on sygma_arrear sa (cost=0.00..6971.15 rows=31495 width=4)"** **" Index Cond: (sa.arrear_import_id = ai.id)"** **" Filter: (sa.arrear_flag_id = 2)"** * Engine uses index - great. On 9.2 "Index Scan using sygma_arrear_credit_id on sygma_arrear sar (cost=11.05..381.12 rows=1 width=265)" " Index Cond: (credit_id = 3102309)" " Filter: ((arrear_import_id = $0) AND (arrear_flag_id = 2))" " InitPlan 1 (returns $0)" " -> Limit (cost=0.00..11.05 rows=1 width=8)" " -> Nested Loop (cost=0.00..54731485.84 rows=4953899 width=8)" " Join Filter: (sa.arrear_import_id = ai.id)" " -> Index Scan Backward using report_date_bank_id_key on arrear_import ai (cost=0.00..62.81 rows=469 width=8)" " Filter: (import_type_id = 1)" *" -> Materialize (cost=0.00..447641.42 rows=6126357 width=4)"** **" -> Seq Scan on sygma_arrear sa (cost=0.00..393077.64 rows=6126357 width=4)"** **" Filter: (arrear_flag_id = 2)"** * Seq scan... slooow. Why that's happens? All configurations are identical. Only engine is different. When I make index on to column: (arrear_import_id,arrear_flag_id) then engine use it and run fast. -- Andrzej Zawadzki -- Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance