explain.depesz.com

PostgreSQL's explain analyze made readable

Result: M4J

Settings
# exclusive inclusive rows x rows loops node
1. 74.892 134.209 ↑ 1.0 4,561 1

GroupAggregate (cost=1,158.28..2,425.62 rows=4,567 width=953) (actual time=57.731..134.209 rows=4,561 loops=1)

  • Output: ('c'::text), c.id, c.c_sms_id, c.c_route_num, c.c_attempt, c.c_is_last, c.c_status, c.c_code, c.i_code, c.o_code, c.i_ip, c.o_ip, c.i_port, c.o_port, c.c_src_rtg_num, c.c_dst_rtg_num, c.c_lrn, c.c_rtg_num, c.c_dst_mccmnc, c.i_src_num, c.o_src_num, c.i_dst_num, c.o_dst_num, c.i_src_num_ton, c.o_src_num_ton, c.i_dst_num_ton, c.o_dst_num_ton, c.i_src_num_npi, c.o_src_num_npi, c.i_dst_num_npi, c.o_dst_num_npi, c.i_username, c.o_username, c.i_time, c.i_time_resp, c.o_time, c.o_time_resp, c.i_cust_id, c.o_vend_id, c.i_gw_id, c.o_gw_id, c.i_rate_plan_id, c.i_deck_id, c.i_area_id, c.o_rate_plan_id, c.i_rate_id, c.o_rate_id, c.i_route_plan_id, c.o_route_plan_id, c.i_rate_sys, c.o_rate_sys, c.i_currency, c.o_currency, c.i_rate, c.o_rate, c.o_dp_id, c.i_account_id, c.o_account_id, c.c_src_num, c.c_dst_num, c.c_src_lrn, c.c_dst_lrn, c.c_src_state, c.c_dst_state, c.c_src_lata, c.c_dst_lata, c.c_src_ocn, c.c_dst_ocn, c.i_seq, c.o_seq, c.i_ip_local, c.o_ip_local, c.i_port_local, c.o_port_local, c.i_message_id_c, c.o_message_id_c, c.c_sm_body, c.i_seq_ref_num, c.i_seq_total_segments, c.i_seq_segment_num, c.i_seq_id, c.c_tags, c.o_trunk_id, c.i_trunk_id, c.o_sm_body, c.o_route_id, c.o_prefix, c.o_tags, c.o_area_name, c.c_src_num_ton, c.c_src_num_npi, c.c_dst_num_ton, c.c_dst_num_npi, c.c_src_mccmnc, c.i_prefix, c.c_jurisdiction, NULL::unknown, array_agg(d.state ORDER BY d.id), array_agg(d.id ORDER BY d.id), array_agg(COALESCE(d.dlr_in_time_dt, d.i_time_dt) ORDER BY d.id), array_agg((CASE WHEN (d.dlr_in_time_dt IS NULL) THEN 1 ELSE 0 END)::smallint ORDER BY d.id), array_agg(d.dlr_in_time_resp_dt ORDER BY d.id)
  • Group Key: ('c'::text), c.id, c.c_sms_id, c.c_route_num, c.c_attempt, c.c_is_last, c.c_status, c.c_code, c.i_code, c.o_code, c.i_ip, c.o_ip, c.i_port, c.o_port, c.c_src_rtg_num, c.c_dst_rtg_num, c.c_lrn, c.c_rtg_num, c.c_dst_mccmnc, c.i_src_num, c.o_src_num, c.i_dst_num, c.o_dst_num, c.i_src_num_ton, c.o_src_num_ton, c.i_dst_num_ton, c.o_dst_num_ton, c.i_src_num_npi, c.o_src_num_npi, c.i_dst_num_npi, c.o_dst_num_npi, c.i_username, c.o_username, c.i_time, c.i_time_resp, c.o_time, c.o_time_resp, c.i_cust_id, c.o_vend_id, c.i_gw_id, c.o_gw_id, c.i_rate_plan_id, c.i_deck_id, c.i_area_id, c.o_rate_plan_id, c.i_rate_id, c.o_rate_id, c.i_route_plan_id, c.o_route_plan_id, c.i_rate_sys, c.o_rate_sys, c.i_currency, c.o_currency, c.i_rate, c.o_rate, c.o_dp_id, c.i_account_id, c.o_account_id, c.c_src_num, c.c_dst_num, c.c_src_lrn, c.c_dst_lrn, c.c_src_state, c.c_dst_state, c.c_src_lata, c.c_dst_lata, c.c_src_ocn, c.c_dst_ocn, c.i_seq, c.o_seq, c.i_ip_local, c.o_ip_local, c.i_port_local, c.o_port_local, c.i_message_id_c, c.o_message_id_c, c.c_sm_body, c.i_seq_ref_num, c.i_seq_total_segments, c.i_seq_segment_num, c.i_seq_id, c.c_tags, c.o_trunk_id, c.i_trunk_id, c.o_sm_body, c.o_route_id, c.o_prefix, c.o_tags, c.o_area_name, c.c_src_num_ton, c.c_src_num_npi, c.c_dst_num_ton, c.c_dst_num_npi, c.c_src_mccmnc, c.i_prefix
  • Buffers: shared hit=2001
2. 24.608 59.317 ↓ 1.0 4,585 1

Sort (cost=1,158.28..1,169.70 rows=4,567 width=953) (actual time=57.648..59.317 rows=4,585 loops=1)

  • Output: ('c'::text), c.id, c.c_sms_id, c.c_route_num, c.c_attempt, c.c_is_last, c.c_status, c.c_code, c.i_code, c.o_code, c.i_ip, c.o_ip, c.i_port, c.o_port, c.c_src_rtg_num, c.c_dst_rtg_num, c.c_lrn, c.c_rtg_num, c.c_dst_mccmnc, c.i_src_num, c.o_src_num, c.i_dst_num, c.o_dst_num, c.i_src_num_ton, c.o_src_num_ton, c.i_dst_num_ton, c.o_dst_num_ton, c.i_src_num_npi, c.o_src_num_npi, c.i_dst_num_npi, c.o_dst_num_npi, c.i_username, c.o_username, c.i_time, c.i_time_resp, c.o_time, c.o_time_resp, c.i_cust_id, c.o_vend_id, c.i_gw_id, c.o_gw_id, c.i_rate_plan_id, c.i_deck_id, c.i_area_id, c.o_rate_plan_id, c.i_rate_id, c.o_rate_id, c.i_route_plan_id, c.o_route_plan_id, c.i_rate_sys, c.o_rate_sys, c.i_currency, c.o_currency, c.i_rate, c.o_rate, c.o_dp_id, c.i_account_id, c.o_account_id, c.c_src_num, c.c_dst_num, c.c_src_lrn, c.c_dst_lrn, c.c_src_state, c.c_dst_state, c.c_src_lata, c.c_dst_lata, c.c_src_ocn, c.c_dst_ocn, c.i_seq, c.o_seq, c.i_ip_local, c.o_ip_local, c.i_port_local, c.o_port_local, c.i_message_id_c, c.o_message_id_c, c.c_sm_body, c.i_seq_ref_num, c.i_seq_total_segments, c.i_seq_segment_num, c.i_seq_id, c.c_tags, c.o_trunk_id, c.i_trunk_id, c.o_sm_body, c.o_route_id, c.o_prefix, c.o_tags, c.o_area_name, c.c_src_num_ton, c.c_src_num_npi, c.c_dst_num_ton, c.c_dst_num_npi, c.c_src_mccmnc, c.i_prefix, c.c_jurisdiction, d.state, d.id, d.dlr_in_time_dt, d.i_time_dt, d.dlr_in_time_resp_dt
  • Sort Key: ('c'::text), c.id, c.c_sms_id, c.c_route_num, c.c_attempt, c.c_is_last, c.c_status, c.c_code, c.i_code, c.o_code, c.i_ip, c.o_ip, c.i_port, c.o_port, c.c_src_rtg_num, c.c_dst_rtg_num, c.c_lrn, c.c_rtg_num, c.c_dst_mccmnc, c.i_src_num, c.o_src_num, c.i_dst_num, c.o_dst_num, c.i_src_num_ton, c.o_src_num_ton, c.i_dst_num_ton, c.o_dst_num_ton, c.i_src_num_npi, c.o_src_num_npi, c.i_dst_num_npi, c.o_dst_num_npi, c.i_username, c.o_username, c.i_time, c.i_time_resp, c.o_time, c.o_time_resp, c.i_cust_id, c.o_vend_id, c.i_gw_id, c.o_gw_id, c.i_rate_plan_id, c.i_deck_id, c.i_area_id, c.o_rate_plan_id, c.i_rate_id, c.o_rate_id, c.i_route_plan_id, c.o_route_plan_id, c.i_rate_sys, c.o_rate_sys, c.i_currency, c.o_currency, c.i_rate, c.o_rate, c.o_dp_id, c.i_account_id, c.o_account_id, c.c_src_num, c.c_dst_num, c.c_src_lrn, c.c_dst_lrn, c.c_src_state, c.c_dst_state, c.c_src_lata, c.c_dst_lata, c.c_src_ocn, c.c_dst_ocn, c.i_seq, c.o_seq, c.i_ip_local, c.o_ip_local, c.i_port_local, c.o_port_local, c.i_message_id_c, c.o_message_id_c, c.c_sm_body, c.i_seq_ref_num, c.i_seq_total_segments, c.i_seq_segment_num, c.i_seq_id, c.c_tags, c.o_trunk_id, c.i_trunk_id, c.o_sm_body, c.o_route_id, c.o_prefix, c.o_tags, c.o_area_name, c.c_src_num_ton, c.c_src_num_npi, c.c_dst_num_ton, c.c_dst_num_npi, c.c_src_mccmnc, c.i_prefix
  • Sort Method: quicksort Memory: 4846kB
  • Buffers: shared hit=2001
3. 13.731 34.709 ↓ 1.0 4,585 1

Hash Left Join (cost=264.39..880.67 rows=4,567 width=953) (actual time=11.008..34.709 rows=4,585 loops=1)

  • Output: 'c'::text, c.id, c.c_sms_id, c.c_route_num, c.c_attempt, c.c_is_last, c.c_status, c.c_code, c.i_code, c.o_code, c.i_ip, c.o_ip, c.i_port, c.o_port, c.c_src_rtg_num, c.c_dst_rtg_num, c.c_lrn, c.c_rtg_num, c.c_dst_mccmnc, c.i_src_num, c.o_src_num, c.i_dst_num, c.o_dst_num, c.i_src_num_ton, c.o_src_num_ton, c.i_dst_num_ton, c.o_dst_num_ton, c.i_src_num_npi, c.o_src_num_npi, c.i_dst_num_npi, c.o_dst_num_npi, c.i_username, c.o_username, c.i_time, c.i_time_resp, c.o_time, c.o_time_resp, c.i_cust_id, c.o_vend_id, c.i_gw_id, c.o_gw_id, c.i_rate_plan_id, c.i_deck_id, c.i_area_id, c.o_rate_plan_id, c.i_rate_id, c.o_rate_id, c.i_route_plan_id, c.o_route_plan_id, c.i_rate_sys, c.o_rate_sys, c.i_currency, c.o_currency, c.i_rate, c.o_rate, c.o_dp_id, c.i_account_id, c.o_account_id, c.c_src_num, c.c_dst_num, c.c_src_lrn, c.c_dst_lrn, c.c_src_state, c.c_dst_state, c.c_src_lata, c.c_dst_lata, c.c_src_ocn, c.c_dst_ocn, c.i_seq, c.o_seq, c.i_ip_local, c.o_ip_local, c.i_port_local, c.o_port_local, c.i_message_id_c, c.o_message_id_c, c.c_sm_body, c.i_seq_ref_num, c.i_seq_total_segments, c.i_seq_segment_num, c.i_seq_id, c.c_tags, c.o_trunk_id, c.i_trunk_id, c.o_sm_body, c.o_route_id, c.o_prefix, c.o_tags, c.o_area_name, c.c_src_num_ton, c.c_src_num_npi, c.c_dst_num_ton, c.c_dst_num_npi, c.c_src_mccmnc, c.i_prefix, c.c_jurisdiction, d.state, d.id, d.dlr_in_time_dt, d.i_time_dt, d.dlr_in_time_resp_dt
  • Hash Cond: (c.c_sms_id = d.sms)
  • Join Filter: (c.c_status = 3)
  • Buffers: shared hit=2001
4. 10.084 10.084 ↑ 1.0 4,561 1

Index Scan using cdr_20200314_pkey on smscdr.cdr_20200314 c (cost=0.29..583.22 rows=4,567 width=919) (actual time=0.074..10.084 rows=4,561 loops=1)

  • Output: c.id, c.c_sms_id, c.c_route_num, c.c_attempt, c.c_is_last, c.c_status, c.c_code, c.i_code, c.o_code, c.i_ip, c.o_ip, c.i_port, c.o_port, c.c_src_rtg_num, c.c_dst_rtg_num, c.c_lrn, c.c_rtg_num, c.c_dst_mccmnc, c.i_src_num, c.o_src_num, c.i_dst_num, c.o_dst_num, c.i_src_num_ton, c.o_src_num_ton, c.i_dst_num_ton, c.o_dst_num_ton, c.i_src_num_npi, c.o_src_num_npi, c.i_dst_num_npi, c.o_dst_num_npi, c.i_username, c.o_username, c.i_time, c.i_time_resp, c.o_time, c.o_time_resp, c.i_cust_id, c.o_vend_id, c.i_gw_id, c.o_gw_id, c.i_rate_plan_id, c.i_deck_id, c.i_area_id, c.o_rate_plan_id, c.i_rate_id, c.o_rate_id, c.i_route_plan_id, c.o_route_plan_id, c.i_rate_sys, c.o_rate_sys, c.i_currency, c.o_currency, c.i_rate, c.o_rate, c.o_dp_id, c.i_account_id, c.o_account_id, c.c_src_num, c.c_dst_num, c.c_src_lrn, c.c_dst_lrn, c.c_src_state, c.c_dst_state, c.c_src_lata, c.c_dst_lata, c.c_src_ocn, c.c_dst_ocn, c.i_seq, c.o_seq, c.i_ip_local, c.o_ip_local, c.i_port_local, c.o_port_local, c.i_message_id_c, c.o_message_id_c, c.c_sm_body, c.i_seq_ref_num, c.i_seq_total_segments, c.i_seq_segment_num, c.i_seq_id, c.c_tags, c.o_trunk_id, c.i_trunk_id, c.o_sm_body, c.o_route_id, c.o_prefix, c.o_tags, c.o_area_name, c.c_src_num_ton, c.c_src_num_npi, c.c_dst_num_ton, c.c_dst_num_npi, c.c_src_mccmnc, c.i_prefix, c.c_jurisdiction
  • Index Cond: ((c.id > 16610283) AND (c.id <= 16620283))
  • Filter: ((c.i_time >= '2020-03-14 00:00:00'::timestamp without time zone) AND (c.i_time < '2020-03-15 00:00:00'::timestamp without time zone))
  • Buffers: shared hit=1201
5. 3.197 10.894 ↓ 1.0 3,754 1

Hash (cost=217.51..217.51 rows=3,727 width=42) (actual time=10.894..10.894 rows=3,754 loops=1)

  • Output: d.state, d.id, d.dlr_in_time_dt, d.i_time_dt, d.dlr_in_time_resp_dt, d.sms
  • Buckets: 4096 Batches: 1 Memory Usage: 326kB
  • Buffers: shared hit=800
6. 7.697 7.697 ↓ 1.0 3,754 1

Index Scan using dlr_20200314_pkey on smscdr.dlr_20200314 d (cost=0.29..217.51 rows=3,727 width=42) (actual time=0.063..7.697 rows=3,754 loops=1)

  • Output: d.state, d.id, d.dlr_in_time_dt, d.i_time_dt, d.dlr_in_time_resp_dt, d.sms
  • Index Cond: ((d.id > 16610283) AND (d.id <= 16620283))
  • Filter: ((d.sms_in_time >= 1584144000) AND (d.sms_in_time < 1584230400))
  • Buffers: shared hit=800
Planning time : 27.830 ms
Execution time : 135.189 ms