explain.depesz.com

PostgreSQL's explain analyze made readable

Result: JJHJ

Settings
# exclusive inclusive rows x rows loops node
1. 0.011 1.335 ↑ 1.0 100 1

Limit (cost=4.23..53.11 rows=100 width=841) (actual time=0.866..1.335 rows=100 loops=1)

  • Output: l.ld203_uuid, l.report_year, l.report_period_code, l.house_reg_id, l.organization_name, l.lobbyist_prefix, l.lobbyist_middle_name, l.lobbyist_suffix, l.lobbyist_last_name, l.lobbyist_first_name, (CASE WHEN (l.report_period_code = 'YY'::bpchar) THEN daterange((concat(l.report_year, '-07-01'))::date, (concat(l.report_year, '-12-31'))::date) ELSE daterange((concat(l.report_year, '-01-01'))::date, (concat(l.report_year, '-07-01'))::date) END), lc_full_name.lc_full_name, lf.report_uuid, lf._lobbyist_pk, lf.issue_ordi, lf.lobbyist_ordi, lf.lobbyist_full_name, lf.lobbyist_covered_position, lf.lobbyist_first_name, lf.lobbyist_last_name, lf.lobbyist_suffix, lf.is_lobbyist_new, r.xml_id, r.fxml_id, r.filename, r.senate_registrant_id, r.senate_client_reg_id, r.report_year, r.report_type, r.report_period, r.date_received, r.registrant_name, r.registrant_address, r.registrant_country, r.is_client_self_filer, r.is_client_state_or_local_gov, r.client_name, r.amount, r.house_id, r.is_imported, r.registrant_prefix, r.registrant_first_name, r.registrant_last_name, r.is_registrant_different_address, r.registrant_address_1, r.registrant_address_2, r.registrant_city, r.registrant_state, r.registrant_zip, r.registrant_zipext, r.principal_city, r.principal_state, r.principal_zip, r.principal_zipext, r.principal_country, r.income, r.expenses, r.expenses_method, r.printed_name, r.signer_email, r.is_no_lobbying, r.termination_date, r.report_url
2. 0.056 1.324 ↑ 293.7 100 1

Nested Loop (cost=4.23..14,359.22 rows=29,371 width=841) (actual time=0.865..1.324 rows=100 loops=1)

  • Output: l.ld203_uuid, l.report_year, l.report_period_code, l.house_reg_id, l.organization_name, l.lobbyist_prefix, l.lobbyist_middle_name, l.lobbyist_suffix, l.lobbyist_last_name, l.lobbyist_first_name, (CASE WHEN (l.report_period_code = 'YY'::bpchar) THEN daterange((concat(l.report_year, '-07-01'))::date, (concat(l.report_year, '-12-31'))::date) ELSE daterange((concat(l.report_year, '-01-01'))::date, (concat(l.report_year, '-07-01'))::date) END), lc_full_name.lc_full_name, lf.report_uuid, lf._lobbyist_pk, lf.issue_ordi, lf.lobbyist_ordi, lf.lobbyist_full_name, lf.lobbyist_covered_position, lf.lobbyist_first_name, lf.lobbyist_last_name, lf.lobbyist_suffix, lf.is_lobbyist_new, r.xml_id, r.fxml_id, r.filename, r.senate_registrant_id, r.senate_client_reg_id, r.report_year, r.report_type, r.report_period, r.date_received, r.registrant_name, r.registrant_address, r.registrant_country, r.is_client_self_filer, r.is_client_state_or_local_gov, r.client_name, r.amount, r.house_id, r.is_imported, r.registrant_prefix, r.registrant_first_name, r.registrant_last_name, r.is_registrant_different_address, r.registrant_address_1, r.registrant_address_2, r.registrant_city, r.registrant_state, r.registrant_zip, r.registrant_zipext, r.principal_city, r.principal_state, r.principal_zip, r.principal_zipext, r.principal_country, r.income, r.expenses, r.expenses_method, r.printed_name, r.signer_email, r.is_no_lobbying, r.termination_date, r.report_url
3. 0.005 0.530 ↑ 2,893.5 2 1

Nested Loop (cost=3.80..4,464.14 rows=5,787 width=750) (actual time=0.525..0.530 rows=2 loops=1)

  • Output: l.ld203_uuid, l.report_year, l.report_period_code, l.house_reg_id, l.organization_name, l.lobbyist_prefix, l.lobbyist_middle_name, l.lobbyist_suffix, l.lobbyist_last_name, l.lobbyist_first_name, (CASE WHEN (l.report_period_code = 'YY'::bpchar) THEN daterange((concat(l.report_year, '-07-01'))::date, (concat(l.report_year, '-12-31'))::date) ELSE daterange((concat(l.report_year, '-01-01'))::date, (concat(l.report_year, '-07-01'))::date) END), lc_full_name.lc_full_name, r.xml_id, r.fxml_id, r.filename, r.senate_registrant_id, r.senate_client_reg_id, r.report_year, r.report_type, r.report_period, r.date_received, r.registrant_name, r.registrant_address, r.registrant_country, r.is_client_self_filer, r.is_client_state_or_local_gov, r.client_name, r.amount, r.house_id, r.is_imported, r.registrant_prefix, r.registrant_first_name, r.registrant_last_name, r.is_registrant_different_address, r.registrant_address_1, r.registrant_address_2, r.registrant_city, r.registrant_state, r.registrant_zip, r.registrant_zipext, r.principal_city, r.principal_state, r.principal_zip, r.principal_zipext, r.principal_country, r.income, r.expenses, r.expenses_method, r.printed_name, r.signer_email, r.is_no_lobbying, r.termination_date, r.report_url, r.report_uuid
4. 0.000 0.482 ↑ 10.0 1 1

Limit (cost=0.00..959.42 rows=10 width=145) (actual time=0.482..0.482 rows=1 loops=1)

  • Output: l.ld203_uuid, l.report_year, l.report_period_code, l.house_reg_id, l.organization_name, l.lobbyist_prefix, l.lobbyist_middle_name, l.lobbyist_suffix, l.lobbyist_last_name, l.lobbyist_first_name, (CASE WHEN (l.report_period_code = 'YY'::bpchar) THEN daterange((concat(l.report_year, '-07-01'))::date, (concat(l.report_year, '-12-31'))::date) ELSE daterange((concat(l.report_year, '-01-01'))::date, (concat(l.report_year, '-07-01'))::date) END), lc_full_name.lc_full_name
5. 0.020 0.482 ↑ 203.0 1 1

Nested Loop (cost=0.00..19,476.21 rows=203 width=145) (actual time=0.482..0.482 rows=1 loops=1)

  • Output: l.ld203_uuid, l.report_year, l.report_period_code, l.house_reg_id, l.organization_name, l.lobbyist_prefix, l.lobbyist_middle_name, l.lobbyist_suffix, l.lobbyist_last_name, l.lobbyist_first_name, CASE WHEN (l.report_period_code = 'YY'::bpchar) THEN daterange((concat(l.report_year, '-07-01'))::date, (concat(l.report_year, '-12-31'))::date) ELSE daterange((concat(l.report_year, '-01-01'))::date, (concat(l.report_year, '-07-01'))::date) END, lc_full_name.lc_full_name
6. 0.447 0.447 ↑ 203.0 1 1

Sample Scan on relational___lobbying_contributions.ld203 l (cost=0.00..19,464.54 rows=203 width=81) (actual time=0.447..0.447 rows=1 loops=1)

  • Output: l.ld203_uuid, l.xml_id, l.xml_file_path, l.filer_type, l.organization_name, l.senate_reg_id, l.house_reg_id, l.lobbyist_prefix, l.lobbyist_first_name, l.lobbyist_middle_name, l.lobbyist_last_name, l.lobbyist_suffix, l.lobbyist_id, l.address1, l.address2, l.city, l.state, l.zip, l.zipext, l.country, l.contact_prefix, l.contact_name, l.contact_email, l.contact_phone, l.no_contributions, l.comments, l.report_year, l.report_period_code, l.report_url, l.signed_date, l.amendment, l.certified_content
  • Sampling: bernoulli ('0.06666667'::real)
  • Filter: (l.filer_type = 'L'::bpchar)
  • Rows Removed by Filter: 2
7. 0.015 0.015 ↑ 1.0 1 1

Function Scan on pg_catalog.array_to_string lc_full_name (cost=0.00..0.01 rows=1 width=32) (actual time=0.015..0.015 rows=1 loops=1)

  • Output: lc_full_name.lc_full_name
  • Function Call: array_to_string(ARRAY[l.lobbyist_prefix, l.lobbyist_first_name, l.lobbyist_middle_name, l.lobbyist_last_name, l.lobbyist_suffix], ' '::text)
8. 0.023 0.043 ↑ 88.5 2 1

Bitmap Heap Scan on relational___lobby.reports___fxml r (cost=3.80..348.69 rows=177 width=605) (actual time=0.038..0.043 rows=2 loops=1)

  • Output: r.xml_id, r.fxml_id, r.filename, r.senate_registrant_id, r.senate_client_reg_id, r.report_year, r.report_type, r.report_period, r.date_received, r.registrant_name, r.registrant_address, r.registrant_country, r.is_client_self_filer, r.is_client_state_or_local_gov, r.client_name, r.amount, r.house_id, r.is_imported, r.registrant_prefix, r.registrant_first_name, r.registrant_last_name, r.is_registrant_different_address, r.registrant_address_1, r.registrant_address_2, r.registrant_city, r.registrant_state, r.registrant_zip, r.registrant_zipext, r.principal_city, r.principal_state, r.principal_zip, r.principal_zipext, r.principal_country, r.income, r.expenses, r.expenses_method, r.printed_name, r.signer_email, r.is_no_lobbying, r.termination_date, r.report_url, r.report_uuid
  • Recheck Cond: (("left"(r.house_id, 5))::integer = l.house_reg_id)
  • Heap Blocks: exact=2
9. 0.020 0.020 ↑ 2.4 73 1

Bitmap Index Scan on reports___fxml_left_idx (cost=0.00..3.75 rows=177 width=0) (actual time=0.020..0.020 rows=73 loops=1)

  • Index Cond: (("left"(r.house_id, 5))::integer = l.house_reg_id)
10. 0.738 0.738 ↓ 1.3 50 2

Index Scan using lobbyists___fxml_pkey on relational___lobby.lobbyists___fxml lf (cost=0.43..1.32 rows=39 width=107) (actual time=0.259..0.369 rows=50 loops=2)

  • Output: lf._lobbyist_pk, lf.report_uuid, lf.issue_ordi, lf.lobbyist_ordi, lf.lobbyist_full_name, lf.lobbyist_covered_position, lf.lobbyist_first_name, lf.lobbyist_last_name, lf.lobbyist_suffix, lf.is_lobbyist_new
  • Index Cond: (lf.report_uuid = r.report_uuid)
Planning time : 1.076 ms
Execution time : 1.461 ms