explain.depesz.com

PostgreSQL's explain analyze made readable

Result: j9uK

Settings
# exclusive inclusive rows x rows loops node
1. 0.000 0.000 ↓ 0.0

select distinct de_mps_co0_.headline as col_0_0_, count(headline) as col_1_0_ from twin.CORE_PROTOCOLENTRY de_mps_co0_ left outer join twin.CORE_PROTOCOL de_mps_co1_ on de_mps_co0_.protocolId=de_mps_co1_.id where (lower(de_mps_co1_.contextId) like lower('JobImport#1%|%')) group by de_mps_co0_.headline order by col_0_0_ asc;Unique (cost=242,082.64..242,095.65 rows=1,734 width=38) (actual rows= loops=)

2. 0.000 0.000 ↓ 0.0

Sort (cost=242,082.64..242,086.98 rows=1,734 width=38) (actual rows= loops=)

  • Sort Key: de_mps_co0_.headline, (count(de_mps_co0_.headline))
3. 0.000 0.000 ↓ 0.0

GroupAggregate (cost=241,835.73..241,989.35 rows=1,734 width=38) (actual rows= loops=)

  • Group Key: de_mps_co0_.headline
4. 0.000 0.000 ↓ 0.0

Sort (cost=241,835.73..241,881.16 rows=18,171 width=30) (actual rows= loops=)

  • Sort Key: de_mps_co0_.headline
5. 0.000 0.000 ↓ 0.0

Hash Join (cost=17,800.99..240,550.19 rows=18,171 width=30) (actual rows= loops=)

  • Hash Cond: ((de_mps_co0_.protocolid)::text = (de_mps_co1_.id)::text)
6. 0.000 0.000 ↓ 0.0

Seq Scan on core_protocolentry de_mps_co0_ (cost=0.00..208,941.63 rows=3,633,563 width=49) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

Hash (cost=17,765.59..17,765.59 rows=2,832 width=19) (actual rows= loops=)

  • -> Seq Scan on core_protocol de_mps_co1_ (cost=0.00..17765.59 rows=2,832 width=19)" Filter: (lower((contextid)::text) ~~ 'jobimport#1%|%'::text)