pg.ddx.io  pgsql-performance@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Andrzej Zawadzki <zawadaa@wp.pl>
To: pgsql-performance@postgresql.org
Subject: Slow query after upgrade from 9.0 to 9.2
Date: Thu, 10 Jan 2013 14:32:05 +0100
Message-ID: <50EEC2D5.3050602@wp.pl> (raw)
List-Unsubscribe:  <mailto:majordomo@postgresql.org?body=unsub%20pgsql-performance>

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



view thread (6+ messages)  latest in thread

Message-ID: <50EEC2D5.3050602@wp.pl>
Permalink:  ../50EEC2D5.3050602@wp.pl/
Also on:    postgresql.org/message-id/50EEC2D5.3050602@wp.pl

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-performance@postgresql.org
  Cc: zawadaa@wp.pl
  Subject: Re: Slow query after upgrade from 9.0 to 9.2
  In-Reply-To: <50EEC2D5.3050602@wp.pl>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox