On Thu, Jan 10, 2013 at 11:32 AM, Andrzej Zawadzki <zawa...@wp.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
>         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.
>
>

How did you do the upgrade?
Have you tried to run a VACUUM ANALYZE on sygma_arrear?


Regards,
-- 
Matheus de Oliveira
Analista de Banco de Dados
Dextra Sistemas - MPS.Br nĂ­vel F!
www.dextra.com.br/postgres

Reply via email to