explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 8OP1

Settings
# exclusive inclusive rows x rows loops node
1. 0.355 118,165.510 ↑ 177,921.4 144 1

Sort (cost=24,449,252.82..24,513,304.54 rows=25,620,686 width=442) (actual time=118,165.490..118,165.510 rows=144 loops=1)

  • Sort Key: brk_stukdelen._gobid
  • Sort Method: quicksort Memory: 156kB
2. 66.819 118,165.155 ↑ 177,921.4 144 1

Hash Left Join (cost=1,340,529.45..12,217,943.39 rows=25,620,686 width=442) (actual time=117,464.583..118,165.155 rows=144 loops=1)

  • Hash Cond: (((rel_3.dst_id)::text = (zrt_0._id)::text) AND ((rel_3.dst_volgnummer)::text = (zrt_0.volgnummer)::text))
  • Filter: ((zrt_0._expiration_date IS NULL) OR (zrt_0._expiration_date > now()))
3. 62.296 50,883.258 ↑ 420,898.7 144 1

Merge Right Join (cost=483,923.25..1,484,012.85 rows=60,609,410 width=474) (actual time=50,228.363..50,883.258 rows=144 loops=1)

  • Merge Cond: ((rel_3.src_id)::text = (brk_stukdelen._id)::text)
4. 313.392 313.392 ↑ 1.2 602,055 1

Index Only Scan using tmp_brk_sdl_4 on mv_brk_sdl_brk_zrt_is_bron_voor_zakelijk_recht rel_3 (cost=0.42..17,333.58 rows=704,984 width=45) (actual time=0.009..313.392 rows=602,055 loops=1)

  • Heap Fetches: 0
5. 0.191 50,507.570 ↑ 8,521.5 144 1

Materialize (cost=483,922.83..558,843.37 rows=1,227,089 width=442) (actual time=50,172.793..50,507.570 rows=144 loops=1)

6. 92.383 50,507.379 ↑ 8,956.9 137 1

Merge Left Join (cost=483,922.83..555,775.65 rows=1,227,089 width=442) (actual time=50,172.789..50,507.379 rows=137 loops=1)

  • Merge Cond: ((brk_stukdelen._id)::text = (rel_2.src_id)::text)
  • Filter: ((akt_0._expiration_date IS NULL) OR (akt_0._expiration_date > now()))
7. 0.551 583.422 ↑ 293.2 130 1

Sort (cost=74,010.42..74,105.70 rows=38,111 width=400) (actual time=583.335..583.422 rows=130 loops=1)

  • Sort Key: brk_stukdelen._id
  • Sort Method: quicksort Memory: 92kB
8. 0.322 582.871 ↑ 293.2 130 1

Nested Loop Left Join (cost=2.13..67,065.92 rows=38,111 width=400) (actual time=4.714..582.871 rows=130 loops=1)

  • Filter: ((art_0._expiration_date IS NULL) OR (art_0._expiration_date > now()))
9. 0.370 390.249 ↑ 24.3 100 1

Nested Loop Left Join (cost=1.28..10,000.12 rows=2,434 width=359) (actual time=3.705..390.249 rows=100 loops=1)

  • Filter: ((tng_0._expiration_date IS NULL) OR (tng_0._expiration_date > now()))
10. 0.070 108.979 ↑ 1.0 100 1

Limit (cost=0.42..35.44 rows=100 width=688) (actual time=2.754..108.979 rows=100 loops=1)

11. 108.909 108.909 ↑ 8,831.7 100 1

Index Scan using brk_stukdelen_pkey on brk_stukdelen (cost=0.42..309,248.68 rows=883,171 width=688) (actual time=2.752..108.909 rows=100 loops=1)

  • Filter: ((_expiration_date IS NULL) OR (_expiration_date > now()))
12. 0.200 280.900 ↓ 0.0 0 100

Nested Loop Left Join (cost=0.86..98.66 rows=65 width=57) (actual time=2.809..2.809 rows=0 loops=100)

13. 280.700 280.700 ↓ 0.0 0 100

Index Only Scan using tmp_brk_sdl_1 on mv_brk_sdl_brk_tng_is_bron_voor_tenaamstelling rel_0 (cost=0.43..2.67 rows=65 width=13) (actual time=2.807..2.807 rows=0 loops=100)

  • Index Cond: (src_id = (brk_stukdelen._id)::text)
  • Heap Fetches: 0
14. 0.000 0.000 ↓ 0.0 0

Index Scan using brk_tng_2a4dbedb477015cfe2b9f2c990906f44 on brk_tenaamstellingen tng_0 (cost=0.43..1.47 rows=1 width=58) (never executed)

  • Index Cond: ((_id)::text = (rel_0.dst_id)::text)
15. 0.356 192.300 ↑ 16.0 1 100

Nested Loop Left Join (cost=0.85..23.21 rows=16 width=55) (actual time=1.550..1.923 rows=1 loops=100)

16. 94.000 94.000 ↑ 16.0 1 100

Index Only Scan using tmp_brk_sdl_2 on mv_brk_sdl_brk_art_is_bron_voor_aantekening_recht rel_1 (cost=0.42..1.79 rows=16 width=43) (actual time=0.939..0.940 rows=1 loops=100)

  • Index Cond: (src_id = (brk_stukdelen._id)::text)
  • Heap Fetches: 0
17. 97.944 97.944 ↑ 1.0 1 53

Index Scan using brk_art_b80bb7740288fda1f201890375a60c8f on brk_aantekeningenrechten art_0 (cost=0.42..1.33 rows=1 width=86) (actual time=1.808..1.848 rows=1 loops=53)

  • Index Cond: ((_id)::text = (rel_1.dst_id)::text)
18. 72.826 49,831.574 ↑ 1.0 635,415 1

Materialize (cost=409,912.40..413,236.90 rows=664,900 width=56) (actual time=49,579.664..49,831.574 rows=635,415 loops=1)

19. 632.232 49,758.748 ↑ 1.0 635,415 1

Sort (cost=409,912.40..411,574.65 rows=664,900 width=56) (actual time=49,579.656..49,758.748 rows=635,415 loops=1)

  • Sort Key: rel_2.src_id
  • Sort Method: external merge Disk: 30568kB
20. 0.000 49,126.516 ↑ 1.0 664,900 1

Gather (cost=1,000.98..332,294.64 rows=664,900 width=56) (actual time=0.529..49,126.516 rows=664,900 loops=1)

  • Workers Planned: 4
  • Workers Launched: 3
21. 49,105.384 49,334.736 ↑ 1.0 166,225 4

Nested Loop Left Join (cost=0.98..264,804.64 rows=166,225 width=56) (actual time=0.107..49,334.736 rows=166,225 loops=4)

22. 229.058 229.058 ↑ 1.0 166,225 4

Parallel Index Only Scan using tmp_brk_sdl_3 on mv_brk_sdl_brk_akt_is_bron_voor_aantekening_kadastraal_object rel_2 (cost=0.42..10,262.77 rows=166,225 width=46) (actual time=0.037..229.058 rows=166,225 loops=4)

  • Heap Fetches: 0
23. 0.294 0.294 ↑ 1.0 1 664,900

Index Scan using brk_akt_2a4dbedb477015cfe2b9f2c990906f44 on brk_aantekeningenkadastraleobjecten akt_0 (cost=0.55..1.52 rows=1 width=90) (actual time=0.291..0.294 rows=1 loops=664,900)

  • Index Cond: (((_id)::text = (rel_2.dst_id)::text) AND ((volgnummer)::text = (rel_2.dst_volgnummer)::text))
24. 1,074.967 67,215.078 ↑ 1.0 2,213,581 1

Hash (cost=794,956.08..794,956.08 rows=2,226,008 width=76) (actual time=67,215.078..67,215.078 rows=2,213,581 loops=1)

  • Buckets: 65536 Batches: 64 Memory Usage: 3699kB
25. 66,140.111 66,140.111 ↑ 1.0 2,213,581 1

Seq Scan on brk_zakelijkerechten zrt_0 (cost=0.00..794,956.08 rows=2,226,008 width=76) (actual time=3.806..66,140.111 rows=2,213,581 loops=1)

Planning time : 2.664 ms
Execution time : 118,169.218 ms