Re: Slow query after upgrade from 9.0 to 9.2

From: Andrzej Zawadzki <zawadaa(at)wp(dot)pl>
To: Matheus de Oliveira <matioli(dot)matheus(at)gmail(dot)com>
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: Slow query after upgrade from 9.0 to 9.2
Date: 2013-01-11 08:23:01
Message-ID: 50EFCBE5.1080506@wp.pl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

On 10.01.2013 19:48, Matheus de Oliveira wrote:
>
>
> On Thu, Jan 10, 2013 at 11:32 AM, Andrzej Zawadzki <zawadaa(at)wp(dot)pl
> <mailto:zawadaa(at)wp(dot)pl>> wrote:
>
> 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 <http://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 <tel: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 <tel: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
> <http://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 <tel: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
> <http://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.
>
>
>
> How did you do the upgrade?
pg_upgrade and I think that this is source of problem.
I have test database from dump/restore process and works properly.
> Have you tried to run a VACUUM ANALYZE on sygma_arrear?
Yes I did - after upgrade all databases was vacuumed.

vacuumdb -azv

I'll try reindex all indexes at weekend

--
Andrzej Zawadzki

In response to

Browse pgsql-performance by date

  From Date Subject
Next Message Heikki Linnakangas 2013-01-11 10:19:55 Re: Partition insert trigger using C language
Previous Message Andrzej Zawadzki 2013-01-11 08:13:37 Re: Slow query after upgrade from 9.0 to 9.2