explain.depesz.com

PostgreSQL's explain analyze made readable

Result: med1

Settings
# exclusive inclusive rows x rows loops node
1. 199.420 720.086 ↑ 1.0 217,966 1

Hash Join (cost=65.45..9,479.87 rows=225,582 width=6,064) (actual time=0.697..720.086 rows=217,966 loops=1)

  • Output: app_usages.id, app_usages.app_id, app_usages.network_id, app_usages.rx_delta, app_usages.tx_delta, app_usages."timestamp", app_usages.updated_at, app_usages.device_id, app_usages.network_name_id, app_usages.roaming, app_usages.rx_delta_roaming, app_usages.tx_delta_roaming, app_usages.pid, app_usages.uid, app_usages.mobile_rx_bytes, app_usages.mobile_tx_bytes, app_usages.last_mobile_rx_bytes, app_usages.last_mobile_tx_bytes, app_usages.total_rx_bytes, app_usages.total_tx_bytes, app_usages.last_total_rx_bytes, app_usages.last_total_tx_bytes, app_usages.uid_rx_bytes, app_usages.uid_tx_bytes, app_usages.last_uid_rx_bytes, app_usages.last_uid_tx_bytes, app_usages.reported_by_pid, app_usages.total_bytes, app_usages.sim_mnc_id, app_usages.tariff_country_id, app_usages.tariff_id, app_usages.app_version, app_usages.comparison_mobile_rx_total, app_usages.comparison_mobile_tx_total, app_usages.comparison_wifi_rx_total, app_usages.comparison_wifi_tx_total, app_usages.mvi_mobile_rx_total, app_usages.mvi_mobile_tx_total, app_usages.mvi_wifi_rx_total, app_usages.mvi_wifi_tx_total, app_usages.comparison_rx_total, app_usages.comparison_tx_total, app_usages.filter_date, app_usages.network_type_code, app_usages.is_roaming, app_usages.carrier_account_id, app_usages.device_usage_id, network_names.id, network_names.user_id, network_names.name, network_names.created_at, network_names.updated_at, network_names.network_type_id, network_names.mnc_id, carrier_accounts.id, carrier_accounts.user_id, carrier_accounts.device_id, carrier_accounts.plan_id, carrier_accounts.phone_number, carrier_accounts.sim_country, carrier_accounts.sim_carrier, carrier_accounts.sim_carrier_id, carrier_accounts.sim_serial_number, carrier_accounts.sim_state, carrier_accounts.carrier_id, carrier_accounts.contract_start_date, carrier_accounts.monitor, carrier_accounts.time_zone, carrier_accounts.last_report, carrier_accounts.name, apps.id, apps.created_at, apps.updated_at, apps.user_id, apps.category_id, apps.app_detail_id, apps.system, apps.uid, users.id, users.company_id, users.name, users.created_at, users.updated_at, users.email, users.crypted_password, users.salt, users.remember_me_token, users.remember_me_token_expires_at, users.reset_password_token, users.reset_password_token_expires_at, users.reset_password_email_sent_at, users.last_device_id, users.role, users.last_login_at, users.last_logout_at, users.last_activity_at, users.last_login_from_ip_address, users.employee_number, users.phone_number, users.department, users.cost_center, users.contract_start_date, users.tos_agreed_at, users.email_downcase, users.channel_partner_id, users.invite_emailed_date, users.time_zone, users.last_carrier_account_id, users.onboard_status, users.type_of, users.locale
  • Inner Unique: true
  • Hash Cond: (apps.user_id = users.id)
  • Buffers: shared hit=4617
2. 151.999 520.635 ↑ 1.0 217,966 1

Hash Join (cost=64.09..8,729.50 rows=225,582 width=2,701) (actual time=0.598..520.635 rows=217,966 loops=1)

  • Output: app_usages.id, app_usages.app_id, app_usages.network_id, app_usages.rx_delta, app_usages.tx_delta, app_usages."timestamp", app_usages.updated_at, app_usages.device_id, app_usages.network_name_id, app_usages.roaming, app_usages.rx_delta_roaming, app_usages.tx_delta_roaming, app_usages.pid, app_usages.uid, app_usages.mobile_rx_bytes, app_usages.mobile_tx_bytes, app_usages.last_mobile_rx_bytes, app_usages.last_mobile_tx_bytes, app_usages.total_rx_bytes, app_usages.total_tx_bytes, app_usages.last_total_rx_bytes, app_usages.last_total_tx_bytes, app_usages.uid_rx_bytes, app_usages.uid_tx_bytes, app_usages.last_uid_rx_bytes, app_usages.last_uid_tx_bytes, app_usages.reported_by_pid, app_usages.total_bytes, app_usages.sim_mnc_id, app_usages.tariff_country_id, app_usages.tariff_id, app_usages.app_version, app_usages.comparison_mobile_rx_total, app_usages.comparison_mobile_tx_total, app_usages.comparison_wifi_rx_total, app_usages.comparison_wifi_tx_total, app_usages.mvi_mobile_rx_total, app_usages.mvi_mobile_tx_total, app_usages.mvi_wifi_rx_total, app_usages.mvi_wifi_tx_total, app_usages.comparison_rx_total, app_usages.comparison_tx_total, app_usages.filter_date, app_usages.network_type_code, app_usages.is_roaming, app_usages.carrier_account_id, app_usages.device_usage_id, network_names.id, network_names.user_id, network_names.name, network_names.created_at, network_names.updated_at, network_names.network_type_id, network_names.mnc_id, carrier_accounts.id, carrier_accounts.user_id, carrier_accounts.device_id, carrier_accounts.plan_id, carrier_accounts.phone_number, carrier_accounts.sim_country, carrier_accounts.sim_carrier, carrier_accounts.sim_carrier_id, carrier_accounts.sim_serial_number, carrier_accounts.sim_state, carrier_accounts.carrier_id, carrier_accounts.contract_start_date, carrier_accounts.monitor, carrier_accounts.time_zone, carrier_accounts.last_report, carrier_accounts.name, apps.id, apps.created_at, apps.updated_at, apps.user_id, apps.category_id, apps.app_detail_id, apps.system, apps.uid
  • Inner Unique: true
  • Hash Cond: (app_usages.app_id = apps.id)
  • Buffers: shared hit=4616
3. 147.959 368.155 ↑ 1.0 221,760 1

Hash Join (cost=29.45..8,100.46 rows=225,582 width=2,664) (actual time=0.100..368.155 rows=221,760 loops=1)

  • Output: app_usages.id, app_usages.app_id, app_usages.network_id, app_usages.rx_delta, app_usages.tx_delta, app_usages."timestamp", app_usages.updated_at, app_usages.device_id, app_usages.network_name_id, app_usages.roaming, app_usages.rx_delta_roaming, app_usages.tx_delta_roaming, app_usages.pid, app_usages.uid, app_usages.mobile_rx_bytes, app_usages.mobile_tx_bytes, app_usages.last_mobile_rx_bytes, app_usages.last_mobile_tx_bytes, app_usages.total_rx_bytes, app_usages.total_tx_bytes, app_usages.last_total_rx_bytes, app_usages.last_total_tx_bytes, app_usages.uid_rx_bytes, app_usages.uid_tx_bytes, app_usages.last_uid_rx_bytes, app_usages.last_uid_tx_bytes, app_usages.reported_by_pid, app_usages.total_bytes, app_usages.sim_mnc_id, app_usages.tariff_country_id, app_usages.tariff_id, app_usages.app_version, app_usages.comparison_mobile_rx_total, app_usages.comparison_mobile_tx_total, app_usages.comparison_wifi_rx_total, app_usages.comparison_wifi_tx_total, app_usages.mvi_mobile_rx_total, app_usages.mvi_mobile_tx_total, app_usages.mvi_wifi_rx_total, app_usages.mvi_wifi_tx_total, app_usages.comparison_rx_total, app_usages.comparison_tx_total, app_usages.filter_date, app_usages.network_type_code, app_usages.is_roaming, app_usages.carrier_account_id, app_usages.device_usage_id, network_names.id, network_names.user_id, network_names.name, network_names.created_at, network_names.updated_at, network_names.network_type_id, network_names.mnc_id, carrier_accounts.id, carrier_accounts.user_id, carrier_accounts.device_id, carrier_accounts.plan_id, carrier_accounts.phone_number, carrier_accounts.sim_country, carrier_accounts.sim_carrier, carrier_accounts.sim_carrier_id, carrier_accounts.sim_serial_number, carrier_accounts.sim_state, carrier_accounts.carrier_id, carrier_accounts.contract_start_date, carrier_accounts.monitor, carrier_accounts.time_zone, carrier_accounts.last_report, carrier_accounts.name
  • Inner Unique: true
  • Hash Cond: (app_usages.carrier_account_id = carrier_accounts.id)
  • Buffers: shared hit=4606
4. 179.853 220.164 ↑ 1.0 221,760 1

Hash Join (cost=13.15..7,483.05 rows=225,582 width=2,403) (actual time=0.046..220.164 rows=221,760 loops=1)

  • Output: app_usages.id, app_usages.app_id, app_usages.network_id, app_usages.rx_delta, app_usages.tx_delta, app_usages."timestamp", app_usages.updated_at, app_usages.device_id, app_usages.network_name_id, app_usages.roaming, app_usages.rx_delta_roaming, app_usages.tx_delta_roaming, app_usages.pid, app_usages.uid, app_usages.mobile_rx_bytes, app_usages.mobile_tx_bytes, app_usages.last_mobile_rx_bytes, app_usages.last_mobile_tx_bytes, app_usages.total_rx_bytes, app_usages.total_tx_bytes, app_usages.last_total_rx_bytes, app_usages.last_total_tx_bytes, app_usages.uid_rx_bytes, app_usages.uid_tx_bytes, app_usages.last_uid_rx_bytes, app_usages.last_uid_tx_bytes, app_usages.reported_by_pid, app_usages.total_bytes, app_usages.sim_mnc_id, app_usages.tariff_country_id, app_usages.tariff_id, app_usages.app_version, app_usages.comparison_mobile_rx_total, app_usages.comparison_mobile_tx_total, app_usages.comparison_wifi_rx_total, app_usages.comparison_wifi_tx_total, app_usages.mvi_mobile_rx_total, app_usages.mvi_mobile_tx_total, app_usages.mvi_wifi_rx_total, app_usages.mvi_wifi_tx_total, app_usages.comparison_rx_total, app_usages.comparison_tx_total, app_usages.filter_date, app_usages.network_type_code, app_usages.is_roaming, app_usages.carrier_account_id, app_usages.device_usage_id, network_names.id, network_names.user_id, network_names.name, network_names.created_at, network_names.updated_at, network_names.network_type_id, network_names.mnc_id
  • Inner Unique: true
  • Hash Cond: (app_usages.network_name_id = network_names.id)
  • Buffers: shared hit=4605
5. 40.293 40.293 ↑ 1.0 221,760 1

Seq Scan on public.app_usages (cost=0.00..6,859.82 rows=225,582 width=1,855) (actual time=0.012..40.293 rows=221,760 loops=1)

  • Output: app_usages.id, app_usages.app_id, app_usages.network_id, app_usages.rx_delta, app_usages.tx_delta, app_usages."timestamp", app_usages.updated_at, app_usages.device_id, app_usages.network_name_id, app_usages.roaming, app_usages.rx_delta_roaming, app_usages.tx_delta_roaming, app_usages.pid, app_usages.uid, app_usages.mobile_rx_bytes, app_usages.mobile_tx_bytes, app_usages.last_mobile_rx_bytes, app_usages.last_mobile_tx_bytes, app_usages.total_rx_bytes, app_usages.total_tx_bytes, app_usages.last_total_rx_bytes, app_usages.last_total_tx_bytes, app_usages.uid_rx_bytes, app_usages.uid_tx_bytes, app_usages.last_uid_rx_bytes, app_usages.last_uid_tx_bytes, app_usages.reported_by_pid, app_usages.total_bytes, app_usages.sim_mnc_id, app_usages.tariff_country_id, app_usages.tariff_id, app_usages.app_version, app_usages.comparison_mobile_rx_total, app_usages.comparison_mobile_tx_total, app_usages.comparison_wifi_rx_total, app_usages.comparison_wifi_tx_total, app_usages.mvi_mobile_rx_total, app_usages.mvi_mobile_tx_total, app_usages.mvi_wifi_rx_total, app_usages.mvi_wifi_tx_total, app_usages.comparison_rx_total, app_usages.comparison_tx_total, app_usages.filter_date, app_usages.network_type_code, app_usages.is_roaming, app_usages.carrier_account_id, app_usages.device_usage_id
  • Buffers: shared hit=4604
6. 0.008 0.018 ↑ 4.7 30 1

Hash (cost=11.40..11.40 rows=140 width=548) (actual time=0.018..0.018 rows=30 loops=1)

  • Output: network_names.id, network_names.user_id, network_names.name, network_names.created_at, network_names.updated_at, network_names.network_type_id, network_names.mnc_id
  • Buckets: 1024 Batches: 1 Memory Usage: 11kB
  • Buffers: shared hit=1
7. 0.010 0.010 ↑ 4.7 30 1

Seq Scan on public.network_names (cost=0.00..11.40 rows=140 width=548) (actual time=0.006..0.010 rows=30 loops=1)

  • Output: network_names.id, network_names.user_id, network_names.name, network_names.created_at, network_names.updated_at, network_names.network_type_id, network_names.mnc_id
  • Buffers: shared hit=1
8. 0.011 0.032 ↑ 9.3 30 1

Hash (cost=12.80..12.80 rows=280 width=261) (actual time=0.032..0.032 rows=30 loops=1)

  • Output: carrier_accounts.id, carrier_accounts.user_id, carrier_accounts.device_id, carrier_accounts.plan_id, carrier_accounts.phone_number, carrier_accounts.sim_country, carrier_accounts.sim_carrier, carrier_accounts.sim_carrier_id, carrier_accounts.sim_serial_number, carrier_accounts.sim_state, carrier_accounts.carrier_id, carrier_accounts.contract_start_date, carrier_accounts.monitor, carrier_accounts.time_zone, carrier_accounts.last_report, carrier_accounts.name
  • Buckets: 1024 Batches: 1 Memory Usage: 13kB
  • Buffers: shared hit=1
9. 0.021 0.021 ↑ 9.3 30 1

Seq Scan on public.carrier_accounts (cost=0.00..12.80 rows=280 width=261) (actual time=0.018..0.021 rows=30 loops=1)

  • Output: carrier_accounts.id, carrier_accounts.user_id, carrier_accounts.device_id, carrier_accounts.plan_id, carrier_accounts.phone_number, carrier_accounts.sim_country, carrier_accounts.sim_carrier, carrier_accounts.sim_carrier_id, carrier_accounts.sim_serial_number, carrier_accounts.sim_state, carrier_accounts.carrier_id, carrier_accounts.contract_start_date, carrier_accounts.monitor, carrier_accounts.time_zone, carrier_accounts.last_report, carrier_accounts.name
  • Buffers: shared hit=1
10. 0.256 0.481 ↑ 1.0 1,095 1

Hash (cost=20.95..20.95 rows=1,095 width=37) (actual time=0.480..0.481 rows=1,095 loops=1)

  • Output: apps.id, apps.created_at, apps.updated_at, apps.user_id, apps.category_id, apps.app_detail_id, apps.system, apps.uid
  • Buckets: 2048 Batches: 1 Memory Usage: 89kB
  • Buffers: shared hit=10
11. 0.225 0.225 ↑ 1.0 1,095 1

Seq Scan on public.apps (cost=0.00..20.95 rows=1,095 width=37) (actual time=0.012..0.225 rows=1,095 loops=1)

  • Output: apps.id, apps.created_at, apps.updated_at, apps.user_id, apps.category_id, apps.app_detail_id, apps.system, apps.uid
  • Buffers: shared hit=10
12. 0.011 0.031 ↑ 1.0 16 1

Hash (cost=1.16..1.16 rows=16 width=3,363) (actual time=0.031..0.031 rows=16 loops=1)

  • Output: users.id, users.company_id, users.name, users.created_at, users.updated_at, users.email, users.crypted_password, users.salt, users.remember_me_token, users.remember_me_token_expires_at, users.reset_password_token, users.reset_password_token_expires_at, users.reset_password_email_sent_at, users.last_device_id, users.role, users.last_login_at, users.last_logout_at, users.last_activity_at, users.last_login_from_ip_address, users.employee_number, users.phone_number, users.department, users.cost_center, users.contract_start_date, users.tos_agreed_at, users.email_downcase, users.channel_partner_id, users.invite_emailed_date, users.time_zone, users.last_carrier_account_id, users.onboard_status, users.type_of, users.locale
  • Buckets: 1024 Batches: 1 Memory Usage: 12kB
  • Buffers: shared hit=1
13. 0.020 0.020 ↑ 1.0 16 1

Seq Scan on public.users (cost=0.00..1.16 rows=16 width=3,363) (actual time=0.017..0.020 rows=16 loops=1)

  • Output: users.id, users.company_id, users.name, users.created_at, users.updated_at, users.email, users.crypted_password, users.salt, users.remember_me_token, users.remember_me_token_expires_at, users.reset_password_token, users.reset_password_token_expires_at, users.reset_password_email_sent_at, users.last_device_id, users.role, users.last_login_at, users.last_logout_at, users.last_activity_at, users.last_login_from_ip_address, users.employee_number, users.phone_number, users.department, users.cost_center, users.contract_start_date, users.tos_agreed_at, users.email_downcase, users.channel_partner_id, users.invite_emailed_date, users.time_zone, users.last_carrier_account_id, users.onboard_status, users.type_of, users.locale
  • Buffers: shared hit=1