On 10.01.2013 19:48, Matheus de Oliveira wrote: > > > On Thu, Jan 10, 2013 at 11:32 AM, Andrzej Zawadzki <zawadaa@xxxxx > <mailto:zawadaa@xxxxx>> 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 -- Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance