explain.depesz.com

PostgreSQL's explain analyze made readable

Result: HvFY

Settings
# exclusive inclusive rows x rows loops node
1. 241.904 2,185.232 ↓ 2.2 9,911 1

Hash Join (cost=3,720.41..781,523.70 rows=4,471 width=577) (actual time=38.551..2,185.232 rows=9,911 loops=1)

  • Hash Cond: ((de.data_element_id = sender_receiver_contains_data_element.data_element_id) AND (de.data_element_version = sender_receiver_contains_data_element.data_element_version))
2. 5.380 39.605 ↓ 1.2 9,915 1

Hash Join (cost=1,971.35..2,482.98 rows=8,163 width=323) (actual time=17.427..39.605 rows=9,915 loops=1)

  • Hash Cond: ((data_element_use_type.type_id = t.type_id) AND (data_element_use_type.type_version = t.type_version))
3. 13.624 31.589 ↓ 1.0 9,915 1

Hash Join (cost=1,685.41..2,145.07 rows=9,896 width=302) (actual time=14.739..31.589 rows=9,915 loops=1)

  • Hash Cond: ((data_element_use_type.data_element_id = de.data_element_id) AND (data_element_use_type.data_element_version = de.data_element_version))
4. 3.320 3.320 ↑ 1.0 18,928 1

Seq Scan on data_element_use_type (cost=0.00..360.28 rows=18,928 width=16) (actual time=0.028..3.320 rows=18,928 loops=1)

5. 5.216 14.645 ↑ 1.0 9,915 1

Hash (cost=1,536.69..1,536.69 rows=9,915 width=286) (actual time=14.644..14.645 rows=9,915 loops=1)

  • Buckets: 16,384 Batches: 1 Memory Usage: 3,178kB
6. 9.429 9.429 ↑ 1.0 9,915 1

Seq Scan on data_element de (cost=0.00..1,536.69 rows=9,915 width=286) (actual time=0.010..9.429 rows=9,915 loops=1)

  • Filter: ('2020.06'::text = ANY (releases))
  • Rows Removed by Filter: 9,049
7. 0.857 2.636 ↑ 1.0 3,570 1

Hash (cost=232.38..232.38 rows=3,570 width=29) (actual time=2.636..2.636 rows=3,570 loops=1)

  • Buckets: 4,096 Batches: 1 Memory Usage: 255kB
8. 1.779 1.779 ↑ 1.0 3,570 1

Seq Scan on type t (cost=0.00..232.38 rows=3,570 width=29) (actual time=0.009..1.779 rows=3,570 loops=1)

  • Filter: ('2020.06'::text = ANY (releases))
  • Rows Removed by Filter: 758
9. 3.254 20.633 ↑ 1.0 9,920 1

Hash (cost=1,593.27..1,593.27 rows=10,386 width=63) (actual time=20.633..20.633 rows=9,920 loops=1)

  • Buckets: 16,384 Batches: 1 Memory Usage: 996kB
10. 6.648 17.379 ↑ 1.0 9,920 1

Hash Join (cost=1,058.28..1,593.27 rows=10,386 width=63) (actual time=8.475..17.379 rows=9,920 loops=1)

  • Hash Cond: ((sender_receiver_contains_data_element.sender_receiver_id = sr.sender_receiver_id) AND (sender_receiver_contains_data_element.sender_receiver_version = sr.sender_receiver_version))
11. 2.315 2.315 ↑ 1.0 20,196 1

Seq Scan on sender_receiver_contains_data_element (cost=0.00..428.96 rows=20,196 width=16) (actual time=0.009..2.315 rows=20,196 loops=1)

12. 2.102 8.416 ↑ 1.0 9,213 1

Hash (cost=920.09..920.09 rows=9,213 width=47) (actual time=8.416..8.416 rows=9,213 loops=1)

  • Buckets: 16,384 Batches: 1 Memory Usage: 721kB
13. 6.314 6.314 ↑ 1.0 9,213 1

Seq Scan on sender_receiver sr (cost=0.00..920.09 rows=9,213 width=47) (actual time=0.008..6.314 rows=9,213 loops=1)

  • Filter: ('2020.06'::text = ANY (releases))
  • Rows Removed by Filter: 8,702
14.          

SubPlan (for Hash Join)

15. 19.822 39.644 ↑ 1.0 1 9,911

Aggregate (cost=12.63..12.64 rows=1 width=32) (actual time=0.004..0.004 rows=1 loops=9,911)

16. 5.912 19.822 ↓ 0.0 0 9,911

Nested Loop (cost=0.56..12.62 rows=1 width=29) (actual time=0.002..0.002 rows=0 loops=9,911)

17. 9.911 9.911 ↓ 0.0 0 9,911

Index Only Scan using sender_receiver_maps_data_identifier_pkey on sender_receiver_maps_data_identifier srmdi (cost=0.28..4.30 rows=1 width=8) (actual time=0.001..0.001 rows=0 loops=9,911)

  • Index Cond: ((sender_receiver_id = sr.sender_receiver_id) AND (sender_receiver_version = sr.sender_receiver_version))
  • Heap Fetches: 0
18. 3.999 3.999 ↑ 1.0 1 1,333

Index Scan using data_identifier_pkey on data_identifier did (cost=0.28..8.31 rows=1 width=29) (actual time=0.003..0.003 rows=1 loops=1,333)

  • Index Cond: ((data_identifier_id = srmdi.data_identifier_id) AND (data_identifier_version = srmdi.data_identifier_version))
  • Filter: ('2020.06'::text = ANY (releases))
19. 13.109 49.555 ↓ 0.0 0 9,911

Nested Loop (cost=0.68..13.29 rows=1 width=32) (actual time=0.004..0.005 rows=0 loops=9,911)

20. 19.822 19.822 ↑ 1.0 1 9,911

Index Only Scan using sender_receiver_maps_bloc_pkey on sender_receiver_maps_bloc srmb (cost=0.41..4.43 rows=1 width=8) (actual time=0.002..0.002 rows=1 loops=9,911)

  • Index Cond: ((sender_receiver_id = sr.sender_receiver_id) AND (sender_receiver_version = sr.sender_receiver_version))
  • Heap Fetches: 0
21. 16.624 16.624 ↓ 0.0 0 8,312

Index Scan using bloc_pkey on bloc b (cost=0.27..8.30 rows=1 width=17) (actual time=0.002..0.002 rows=0 loops=8,312)

  • Index Cond: ((bloc_id = srmb.bloc_id) AND (bloc_version = srmb.bloc_version))
  • Filter: ('2020.06'::text = ANY (releases))
  • Rows Removed by Filter: 1
22. 19.822 39.644 ↑ 1.0 1 9,911

Aggregate (cost=16.63..16.64 rows=1 width=32) (actual time=0.004..0.004 rows=1 loops=9,911)

23. 0.000 19.822 ↓ 0.0 0 9,911

Nested Loop (cost=0.56..16.63 rows=1 width=30) (actual time=0.002..0.002 rows=0 loops=9,911)

24. 19.822 19.822 ↓ 0.0 0 9,911

Index Scan using data_element_use_define_data_element_idx on data_element_use_define deud (cost=0.28..8.30 rows=1 width=8) (actual time=0.001..0.002 rows=0 loops=9,911)

  • Index Cond: ((data_element_id = de.data_element_id) AND (data_element_version = de.data_element_version))
25. 3.228 3.228 ↑ 1.0 1 1,614

Index Scan using define_pkey on define d (cost=0.28..8.31 rows=1 width=30) (actual time=0.002..0.002 rows=1 loops=1,614)

  • Index Cond: ((define_id = deud.define_id) AND (define_version = deud.define_version))
  • Filter: ('2020.06'::text = ANY (releases))
26. 69.377 376.618 ↑ 1.0 1 9,911

Aggregate (cost=19.17..19.18 rows=1 width=32) (actual time=0.038..0.038 rows=1 loops=9,911)

27. 15.147 307.241 ↑ 1.0 1 9,911

Nested Loop (cost=1.39..19.16 rows=1 width=58) (actual time=0.029..0.031 rows=1 loops=9,911)

  • Join Filter: ((runnable_produce_data_element.runnable_id = r.runnable_id) AND (runnable_produce_data_element.runnable_version = r.runnable_version))
28. 5.056 277.508 ↑ 1.0 1 9,911

Nested Loop (cost=1.10..18.20 rows=1 width=43) (actual time=0.026..0.028 rows=1 loops=9,911)

29. 27.335 178.398 ↓ 5.0 5 9,911

Nested Loop (cost=0.82..16.88 rows=1 width=33) (actual time=0.006..0.018 rows=5 loops=9,911)

30. 69.377 69.377 ↓ 4.0 4 9,911

Index Scan using runnable_produce_data_element_data_element_idx on runnable_produce_data_element (cost=0.41..8.43 rows=1 width=17) (actual time=0.004..0.007 rows=4 loops=9,911)

  • Index Cond: ((data_element_id = de.data_element_id) AND (data_element_version = de.data_element_version))
31. 81.686 81.686 ↑ 1.0 1 40,843

Index Scan using module_contains_runnable_runnable_idx on module_contains_runnable (cost=0.41..8.43 rows=1 width=16) (actual time=0.002..0.002 rows=1 loops=40,843)

  • Index Cond: ((runnable_id = runnable_produce_data_element.runnable_id) AND (runnable_version = runnable_produce_data_element.runnable_version))
32. 94.054 94.054 ↓ 0.0 0 47,027

Index Scan using module_pkey on module m (cost=0.28..1.32 rows=1 width=18) (actual time=0.002..0.002 rows=0 loops=47,027)

  • Index Cond: ((module_id = module_contains_runnable.module_id) AND (module_version = module_contains_runnable.module_version))
  • Filter: ('2020.06'::text = ANY (releases))
  • Rows Removed by Filter: 1
33. 14.586 14.586 ↑ 1.0 1 7,293

Index Scan using runnable_pkey on runnable r (cost=0.28..0.95 rows=1 width=31) (actual time=0.002..0.002 rows=1 loops=7,293)

  • Index Cond: ((runnable_id = module_contains_runnable.runnable_id) AND (runnable_version = module_contains_runnable.runnable_version))
  • Filter: ('2020.06'::text = ANY (releases))
34. 69.377 406.351 ↑ 1.0 1 9,911

Aggregate (cost=19.17..19.18 rows=1 width=32) (actual time=0.041..0.041 rows=1 loops=9,911)

35. 5.132 336.974 ↑ 1.0 1 9,911

Nested Loop (cost=1.39..19.16 rows=1 width=58) (actual time=0.026..0.034 rows=1 loops=9,911)

  • Join Filter: ((runnable_consume_data_element.runnable_id = r_1.runnable_id) AND (runnable_consume_data_element.runnable_version = r_1.runnable_version))
36. 2.465 317.152 ↑ 1.0 1 9,911

Nested Loop (cost=1.11..18.20 rows=1 width=43) (actual time=0.024..0.032 rows=1 loops=9,911)

37. 33.827 208.131 ↓ 5.0 5 9,911

Nested Loop (cost=0.83..16.88 rows=1 width=33) (actual time=0.005..0.021 rows=5 loops=9,911)

38. 79.288 79.288 ↓ 5.0 5 9,911

Index Scan using runnable_consume_data_element_data_element_idx on runnable_consume_data_element (cost=0.42..8.44 rows=1 width=17) (actual time=0.003..0.008 rows=5 loops=9,911)

  • Index Cond: ((data_element_id = de.data_element_id) AND (data_element_version = de.data_element_version))
39. 95.016 95.016 ↑ 1.0 1 47,508

Index Scan using module_contains_runnable_runnable_idx on module_contains_runnable module_contains_runnable_1 (cost=0.41..8.43 rows=1 width=16) (actual time=0.002..0.002 rows=1 loops=47,508)

  • Index Cond: ((runnable_id = runnable_consume_data_element.runnable_id) AND (runnable_version = runnable_consume_data_element.runnable_version))
40. 106.556 106.556 ↓ 0.0 0 53,278

Index Scan using module_pkey on module m_1 (cost=0.28..1.32 rows=1 width=18) (actual time=0.002..0.002 rows=0 loops=53,278)

  • Index Cond: ((module_id = module_contains_runnable_1.module_id) AND (module_version = module_contains_runnable_1.module_version))
  • Filter: ('2020.06'::text = ANY (releases))
  • Rows Removed by Filter: 1
41. 14.690 14.690 ↑ 1.0 1 7,345

Index Scan using runnable_pkey on runnable r_1 (cost=0.28..0.95 rows=1 width=31) (actual time=0.002..0.002 rows=1 loops=7,345)

  • Index Cond: ((runnable_id = module_contains_runnable_1.runnable_id) AND (runnable_version = module_contains_runnable_1.runnable_version))
  • Filter: ('2020.06'::text = ANY (releases))
42. 51.686 891.990 ↑ 1.0 1 9,911

Aggregate (cost=66.89..66.90 rows=1 width=32) (actual time=0.090..0.090 rows=1 loops=9,911)

43. 0.000 39.644 ↓ 0.0 0 9,911

Result (cost=0.57..16.64 rows=1 width=46) (actual time=0.004..0.004 rows=0 loops=9,911)

  • One-Time Filter: ('2020.06'::text = ANY (de.releases))
44. 11.646 39.644 ↓ 0.0 0 9,911

Nested Loop (cost=0.57..16.64 rows=1 width=46) (actual time=0.003..0.004 rows=0 loops=9,911)

45. 19.822 19.822 ↓ 0.0 0 9,911

Index Scan using data_element_maps_signal_data_element_idx on data_element_maps_signal (cost=0.29..8.30 rows=1 width=28) (actual time=0.002..0.002 rows=0 loops=9,911)

  • Index Cond: ((data_element_id = de.data_element_id) AND (data_element_version = de.data_element_version))
46. 8.176 8.176 ↑ 1.0 1 4,088

Index Scan using trame_pkey on trame t_1 (cost=0.28..8.31 rows=1 width=26) (actual time=0.002..0.002 rows=1 loops=4,088)

  • Index Cond: ((trame_id = data_element_maps_signal.trame_id) AND (trame_version = data_element_maps_signal.trame_version))
  • Filter: ('2020.06'::text = ANY (releases))
  • Rows Removed by Filter: 0
47.          

SubPlan (for Aggregate)

48. 0.000 28.595 ↑ 1.0 1 4,085

Limit (cost=0.29..8.43 rows=1 width=6) (actual time=0.007..0.007 rows=1 loops=4,085)

49. 28.595 28.595 ↑ 1.0 1 4,085

Index Scan using magneto_flux_trame_name_idx on magneto_flux mf (cost=0.29..8.43 rows=1 width=6) (actual time=0.007..0.007 rows=1 loops=4,085)

  • Index Cond: (trame_name = t_1.name)
  • Filter: (release_id = '2020.06'::text)
  • Rows Removed by Filter: 7
50. 3.423 772.065 ↑ 1.0 1 4,085

Nested Loop (cost=5.03..41.82 rows=1 width=4) (actual time=0.182..0.189 rows=1 loops=4,085)

  • Join Filter: ((s.reseau = mfc.reseau) AND (s.version = mfc.version))
51. 47.270 743.470 ↑ 1.0 1 4,085

Nested Loop (cost=4.74..33.38 rows=1 width=42) (actual time=0.176..0.182 rows=1 loops=4,085)

  • Join Filter: ((s.reseau = vmir.reseau) AND (s.version = vmir.version))
  • Rows Removed by Join Filter: 99
52. 17.082 408.500 ↓ 6.0 6 4,085

Nested Loop (cost=4.74..30.32 rows=1 width=382) (actual time=0.020..0.100 rows=6 loops=4,085)

53. 28.595 49.020 ↓ 6.0 6 4,085

Bitmap Heap Scan on trame (cost=4.32..21.86 rows=1 width=222) (actual time=0.007..0.012 rows=6 loops=4,085)

  • Recheck Cond: (trame_name = t_1.name)
  • Filter: ((serge ->> 'deleted'::text) IS NULL)
  • Heap Blocks: exact=24,456
54. 20.425 20.425 ↓ 1.2 6 4,085

Bitmap Index Scan on trame_pkey (cost=0.00..4.32 rows=5 width=0) (actual time=0.005..0.005 rows=6 loops=4,085)

  • Index Cond: (trame_name = t_1.name)
55. 342.398 342.398 ↑ 1.0 1 24,457

Index Scan using signal_pkey on signal s (cost=0.42..8.45 rows=1 width=30) (actual time=0.011..0.014 rows=1 loops=24,457)

  • Index Cond: ((reseau = trame.reseau) AND (version = trame.version) AND (trame_name = t_1.name))
  • Filter: (((serge ->> 'deleted'::text) IS NULL) AND (COALESCE((serge ->> 'signal_name'::text), signal_name) = data_element_maps_signal.signal))
  • Rows Removed by Filter: 20
56. 287.700 287.700 ↑ 1.0 17 23,975

Seq Scan on version_mux_in_release vmir (cost=0.00..2.79 rows=17 width=12) (actual time=0.010..0.012 rows=17 loops=23,975)

  • Filter: (release_id = '2020.06'::text)
  • Rows Removed by Filter: 126
57. 25.172 25.172 ↑ 1.0 1 3,596

Index Scan using magneto_flux_clean_trame_name_idx on magneto_flux_cleaned mfc (cost=0.29..8.43 rows=1 width=29) (actual time=0.006..0.007 rows=1 loops=3,596)

  • Index Cond: (trame_name = t_1.name)
  • Filter: (release_id = '2020.06'::text)
  • Rows Removed by Filter: 8
58. 19.822 39.644 ↑ 1.0 1 9,911

Aggregate (cost=12.63..12.64 rows=1 width=32) (actual time=0.004..0.004 rows=1 loops=9,911)

59. 7.245 19.822 ↓ 0.0 0 9,911

Nested Loop (cost=0.56..12.62 rows=1 width=29) (actual time=0.002..0.002 rows=0 loops=9,911)

60. 9.911 9.911 ↓ 0.0 0 9,911

Index Only Scan using sender_receiver_maps_data_identifier_pkey on sender_receiver_maps_data_identifier srmdi_1 (cost=0.28..4.30 rows=1 width=8) (actual time=0.001..0.001 rows=0 loops=9,911)

  • Index Cond: ((sender_receiver_id = sr.sender_receiver_id) AND (sender_receiver_version = sr.sender_receiver_version))
  • Heap Fetches: 0
61. 2.666 2.666 ↑ 1.0 1 1,333

Index Scan using data_identifier_pkey on data_identifier did_1 (cost=0.28..8.31 rows=1 width=29) (actual time=0.002..0.002 rows=1 loops=1,333)

  • Index Cond: ((data_identifier_id = srmdi_1.data_identifier_id) AND (data_identifier_version = srmdi_1.data_identifier_version))
  • Filter: ('2020.06'::text = ANY (releases))
62. 3.198 39.644 ↓ 0.0 0 9,911

Nested Loop (cost=0.68..13.29 rows=1 width=32) (actual time=0.004..0.004 rows=0 loops=9,911)

63. 19.822 19.822 ↑ 1.0 1 9,911

Index Only Scan using sender_receiver_maps_bloc_pkey on sender_receiver_maps_bloc srmb_1 (cost=0.41..4.43 rows=1 width=8) (actual time=0.002..0.002 rows=1 loops=9,911)

  • Index Cond: ((sender_receiver_id = sr.sender_receiver_id) AND (sender_receiver_version = sr.sender_receiver_version))
  • Heap Fetches: 0
64. 16.624 16.624 ↓ 0.0 0 8,312

Index Scan using bloc_pkey on bloc b_1 (cost=0.27..8.30 rows=1 width=17) (actual time=0.002..0.002 rows=0 loops=8,312)

  • Index Cond: ((bloc_id = srmb_1.bloc_id) AND (bloc_version = srmb_1.bloc_version))
  • Filter: ('2020.06'::text = ANY (releases))
  • Rows Removed by Filter: 1
Planning time : 9.712 ms
Execution time : 2,186.703 ms