explain.depesz.com

PostgreSQL's explain analyze made readable

Result: TeKf

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

Limit (cost=2.96..8.38 rows=10 width=212) (actual rows= loops=)

2. 0.000 0.000 ↓ 0.0

Append (cost=2.96..360,813.21 rows=665,557 width=212) (actual rows= loops=)

3. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=2.96..29.33 rows=1 width=212) (actual rows= loops=)

4. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=2.53..27.29 rows=1 width=220) (actual rows= loops=)

5. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=2.11..22.53 rows=1 width=216) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=1.69..21.99 rows=1 width=184) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.27..21.02 rows=1 width=180) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.84..20.24 rows=1 width=164) (actual rows= loops=)

9. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.42..19.70 rows=1 width=164) (actual rows= loops=)

10. 0.000 0.000 ↓ 0.0

Seq Scan on contractcustomers co (cost=0.00..11.25 rows=1 width=172) (actual rows= loops=)

  • Filter: (customerrolecid = 168,001)
11. 0.000 0.000 ↓ 0.0

Index Scan using idx_customerships_customerid on customerships cs (cost=0.42..8.44 rows=1 width=24) (actual rows= loops=)

  • Index Cond: ((customerid)::text = (co.customerkey)::text)
12. 0.000 0.000 ↓ 0.0

Index Scan using idx_customerrelations_customershipguid on customerrelations cr (cost=0.42..0.53 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (customershipguid = cs.idguid)
  • Filter: (typecid = 149,001)
13. 0.000 0.000 ↓ 0.0

Index Only Scan using "PK_customers" on customers c (cost=0.42..0.78 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (idguid = cr.customerguid)
14. 0.000 0.000 ↓ 0.0

Index Scan using "PK_customers" on customers c_1 (cost=0.42..0.97 rows=1 width=36) (actual rows= loops=)

  • Index Cond: (idguid = cr.customerguid)
15. 0.000 0.000 ↓ 0.0

Index Scan using idx_customerrelations_customerguid on customerrelations cr_1 (cost=0.42..0.53 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (customerguid = c.idguid)
  • Filter: (typecid = 149,004)
16. 0.000 0.000 ↓ 0.0

Index Scan using "PK_customers" on customers c_2 (cost=0.42..4.76 rows=1 width=36) (actual rows= loops=)

  • Index Cond: (idguid = cr_1.customerguid)
17. 0.000 0.000 ↓ 0.0

Index Scan using "PK_customerships" on customerships cs_1 (cost=0.42..2.04 rows=1 width=24) (actual rows= loops=)

  • Index Cond: (idguid = cr_1.customershipguid)
18. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=2.96..19.09 rows=1 width=212) (actual rows= loops=)

19. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=2.53..17.05 rows=1 width=220) (actual rows= loops=)

20. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=2.11..12.29 rows=1 width=216) (actual rows= loops=)

21. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=1.69..11.75 rows=1 width=184) (actual rows= loops=)

22. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.27..10.78 rows=1 width=180) (actual rows= loops=)

23. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.84..10.00 rows=1 width=164) (actual rows= loops=)

24. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.42..9.46 rows=1 width=164) (actual rows= loops=)

25. 0.000 0.000 ↓ 0.0

Seq Scan on contractcustomers co_1 (cost=0.00..1.01 rows=1 width=172) (actual rows= loops=)

  • Filter: (customerrolecid = 168,001)
26. 0.000 0.000 ↓ 0.0

Index Scan using idx_customerships_customerid on customerships cs_2 (cost=0.42..8.44 rows=1 width=24) (actual rows= loops=)

  • Index Cond: ((customerid)::text = (co_1.customerkey)::text)
27. 0.000 0.000 ↓ 0.0

Index Scan using idx_customerrelations_customershipguid on customerrelations cr_2 (cost=0.42..0.53 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (customershipguid = cs_2.idguid)
  • Filter: (typecid = 149,001)
28. 0.000 0.000 ↓ 0.0

Index Only Scan using "PK_customers" on customers c_3 (cost=0.42..0.78 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (idguid = cr_2.customerguid)
29. 0.000 0.000 ↓ 0.0

Index Scan using "PK_customers" on customers c_4 (cost=0.42..0.97 rows=1 width=36) (actual rows= loops=)

  • Index Cond: (idguid = cr_2.customerguid)
30. 0.000 0.000 ↓ 0.0

Index Scan using idx_customerrelations_customerguid on customerrelations cr_3 (cost=0.42..0.53 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (customerguid = c_3.idguid)
  • Filter: (typecid = 149,004)
31. 0.000 0.000 ↓ 0.0

Index Scan using "PK_customers" on customers c_5 (cost=0.42..4.76 rows=1 width=36) (actual rows= loops=)

  • Index Cond: (idguid = cr_3.customerguid)
32. 0.000 0.000 ↓ 0.0

Index Scan using "PK_customerships" on customerships cs_3 (cost=0.42..2.04 rows=1 width=24) (actual rows= loops=)

  • Index Cond: (idguid = cr_3.customershipguid)
33. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=2.96..29.33 rows=1 width=212) (actual rows= loops=)

34. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=2.53..27.29 rows=1 width=220) (actual rows= loops=)

35. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=2.11..22.53 rows=1 width=216) (actual rows= loops=)

36. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=1.69..21.99 rows=1 width=184) (actual rows= loops=)

37. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.27..21.02 rows=1 width=180) (actual rows= loops=)

38. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.84..20.24 rows=1 width=164) (actual rows= loops=)

39. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.42..19.70 rows=1 width=164) (actual rows= loops=)

40. 0.000 0.000 ↓ 0.0

Seq Scan on contractcustomers co_2 (cost=0.00..11.25 rows=1 width=172) (actual rows= loops=)

  • Filter: (customerrolecid = 168,001)
41. 0.000 0.000 ↓ 0.0

Index Scan using idx_customerships_customerid on customerships cs_4 (cost=0.42..8.44 rows=1 width=24) (actual rows= loops=)

  • Index Cond: ((customerid)::text = (co_2.customerkey)::text)
42. 0.000 0.000 ↓ 0.0

Index Scan using idx_customerrelations_customershipguid on customerrelations cr_4 (cost=0.42..0.53 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (customershipguid = cs_4.idguid)
  • Filter: (typecid = 149,001)
43. 0.000 0.000 ↓ 0.0

Index Only Scan using "PK_customers" on customers c_6 (cost=0.42..0.78 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (idguid = cr_4.customerguid)
44. 0.000 0.000 ↓ 0.0

Index Scan using "PK_customers" on customers c_7 (cost=0.42..0.97 rows=1 width=36) (actual rows= loops=)

  • Index Cond: (idguid = cr_4.customerguid)
45. 0.000 0.000 ↓ 0.0

Index Scan using idx_customerrelations_customerguid on customerrelations cr_5 (cost=0.42..0.53 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (customerguid = c_6.idguid)
  • Filter: (typecid = 149,004)
46. 0.000 0.000 ↓ 0.0

Index Scan using "PK_customers" on customers c_8 (cost=0.42..4.76 rows=1 width=36) (actual rows= loops=)

  • Index Cond: (idguid = cr_5.customerguid)
47. 0.000 0.000 ↓ 0.0

Index Scan using "PK_customerships" on customerships cs_5 (cost=0.42..2.04 rows=1 width=24) (actual rows= loops=)

  • Index Cond: (idguid = cr_5.customershipguid)
48. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=2.96..29.33 rows=1 width=212) (actual rows= loops=)

49. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=2.53..27.29 rows=1 width=220) (actual rows= loops=)

50. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=2.11..22.53 rows=1 width=216) (actual rows= loops=)

51. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=1.69..21.99 rows=1 width=184) (actual rows= loops=)

52. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.27..21.02 rows=1 width=180) (actual rows= loops=)

53. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.84..20.24 rows=1 width=164) (actual rows= loops=)

54. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.42..19.70 rows=1 width=164) (actual rows= loops=)

55. 0.000 0.000 ↓ 0.0

Seq Scan on contractcustomers co_3 (cost=0.00..11.25 rows=1 width=172) (actual rows= loops=)

  • Filter: (customerrolecid = 168,001)
56. 0.000 0.000 ↓ 0.0

Index Scan using idx_customerships_customerid on customerships cs_6 (cost=0.42..8.44 rows=1 width=24) (actual rows= loops=)

  • Index Cond: ((customerid)::text = (co_3.customerkey)::text)
57. 0.000 0.000 ↓ 0.0

Index Scan using idx_customerrelations_customershipguid on customerrelations cr_6 (cost=0.42..0.53 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (customershipguid = cs_6.idguid)
  • Filter: (typecid = 149,001)
58. 0.000 0.000 ↓ 0.0

Index Only Scan using "PK_customers" on customers c_9 (cost=0.42..0.78 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (idguid = cr_6.customerguid)
59. 0.000 0.000 ↓ 0.0

Index Scan using "PK_customers" on customers c_10 (cost=0.42..0.97 rows=1 width=36) (actual rows= loops=)

  • Index Cond: (idguid = cr_6.customerguid)
60. 0.000 0.000 ↓ 0.0

Index Scan using idx_customerrelations_customerguid on customerrelations cr_7 (cost=0.42..0.53 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (customerguid = c_9.idguid)
  • Filter: (typecid = 149,004)
61. 0.000 0.000 ↓ 0.0

Index Scan using "PK_customers" on customers c_11 (cost=0.42..4.76 rows=1 width=36) (actual rows= loops=)

  • Index Cond: (idguid = cr_7.customerguid)
62. 0.000 0.000 ↓ 0.0

Index Scan using "PK_customerships" on customerships cs_7 (cost=0.42..2.04 rows=1 width=24) (actual rows= loops=)

  • Index Cond: (idguid = cr_7.customershipguid)
63. 0.000 0.000 ↓ 0.0

Gather (cost=237,662.16..350,722.76 rows=665,553 width=212) (actual rows= loops=)

  • Workers Planned: 2
64. 0.000 0.000 ↓ 0.0

Parallel Hash Left Join (cost=236,662.16..283,167.46 rows=277,314 width=212) (actual rows= loops=)

  • Hash Cond: (c_12.idguid = cr_9.customerguid)
65. 0.000 0.000 ↓ 0.0

Parallel Hash Join (cost=172,718.66..218,135.95 rows=277,314 width=184) (actual rows= loops=)

  • Hash Cond: ((co_4.customerkey)::text = (cs_8.customerid)::text)
66. 0.000 0.000 ↓ 0.0

Parallel Seq Scan on contractcustomers co_4 (cost=0.00..29,510.29 rows=277,475 width=148) (actual rows= loops=)

  • Filter: (customerrolecid = 168,001)
67. 0.000 0.000 ↓ 0.0

Parallel Hash (cost=168,391.51..168,391.51 rows=203,212 width=44) (actual rows= loops=)

68. 0.000 0.000 ↓ 0.0

Parallel Hash Left Join (cost=143,541.79..168,391.51 rows=203,212 width=44) (actual rows= loops=)

  • Hash Cond: (cr_8.customerguid = c_13.idguid)
69. 0.000 0.000 ↓ 0.0

Parallel Hash Join (cost=77,375.84..96,868.13 rows=203,212 width=40) (actual rows= loops=)

  • Hash Cond: (cr_8.customerguid = c_12.idguid)
70. 0.000 0.000 ↓ 0.0

Parallel Hash Join (cost=11,827.89..27,374.75 rows=203,212 width=24) (actual rows= loops=)

  • Hash Cond: (cr_8.customershipguid = cs_8.idguid)
71. 0.000 0.000 ↓ 0.0

Parallel Seq Scan on customerrelations cr_8 (cost=0.00..11,042.43 rows=203,212 width=32) (actual rows= loops=)

  • Filter: (typecid = 149,001)
72. 0.000 0.000 ↓ 0.0

Parallel Hash (cost=8,096.95..8,096.95 rows=203,195 width=24) (actual rows= loops=)

73. 0.000 0.000 ↓ 0.0

Parallel Seq Scan on customerships cs_8 (cost=0.00..8,096.95 rows=203,195 width=24) (actual rows= loops=)

74. 0.000 0.000 ↓ 0.0

Parallel Hash (cost=61,881.31..61,881.31 rows=210,931 width=16) (actual rows= loops=)

75. 0.000 0.000 ↓ 0.0

Parallel Seq Scan on customers c_12 (cost=0.00..61,881.31 rows=210,931 width=16) (actual rows= loops=)

76. 0.000 0.000 ↓ 0.0

Parallel Hash (cost=61,881.31..61,881.31 rows=210,931 width=36) (actual rows= loops=)

77. 0.000 0.000 ↓ 0.0

Parallel Seq Scan on customers c_13 (cost=0.00..61,881.31 rows=210,931 width=36) (actual rows= loops=)

78. 0.000 0.000 ↓ 0.0

Parallel Hash (cost=63,833.76..63,833.76 rows=8,779 width=44) (actual rows= loops=)

79. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=12,212.03..63,833.76 rows=8,779 width=44) (actual rows= loops=)

80. 0.000 0.000 ↓ 0.0

Parallel Hash Left Join (cost=12,211.60..22,038.39 rows=8,779 width=24) (actual rows= loops=)

  • Hash Cond: (cr_9.customershipguid = cs_9.idguid)
81. 0.000 0.000 ↓ 0.0

Parallel Bitmap Heap Scan on customerrelations cr_9 (cost=383.71..8,874.45 rows=8,779 width=32) (actual rows= loops=)

  • Recheck Cond: (typecid = 149,004)
82. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on idx_customerrelations_typecid (cost=0.00..378.45 rows=21,070 width=0) (actual rows= loops=)

  • Index Cond: (typecid = 149,004)
83. 0.000 0.000 ↓ 0.0

Parallel Hash (cost=8,096.95..8,096.95 rows=203,195 width=24) (actual rows= loops=)

84. 0.000 0.000 ↓ 0.0

Parallel Seq Scan on customerships cs_9 (cost=0.00..8,096.95 rows=203,195 width=24) (actual rows= loops=)

85. 0.000 0.000 ↓ 0.0

Index Scan using "PK_customers" on customers c_14 (cost=0.42..4.76 rows=1 width=36) (actual rows= loops=)

  • Index Cond: (idguid = cr_9.customerguid)