explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 5Qv9

Settings
# exclusive inclusive rows x rows loops node
1. 0.006 3.579 ↑ 1.0 1 1

Unique (cost=13.40..13.42 rows=1 width=70) (actual time=3.579..3.579 rows=1 loops=1)

  • Output: p3.lobj_name, p3.lobj_id, p2_1.commentushort, p2_1.lobj_id, p1_1.lobj_id, p1_1.lobj_name
  • Buffers: shared hit=52 read=2
2. 0.023 3.573 ↑ 1.0 1 1

Sort (cost=13.40..13.40 rows=1 width=70) (actual time=3.573..3.573 rows=1 loops=1)

  • Output: p3.lobj_name, p3.lobj_id, p2_1.commentushort, p2_1.lobj_id, p1_1.lobj_id, p1_1.lobj_name
  • Sort Key: p3.lobj_name, p3.lobj_id, p2_1.commentushort, p2_1.lobj_id, p1_1.lobj_id, p1_1.lobj_name
  • Sort Method: quicksort Memory: 25kB
  • Buffers: shared hit=52 read=2
3. 0.003 3.550 ↑ 1.0 1 1

Nested Loop (cost=4.14..13.39 rows=1 width=70) (actual time=3.545..3.550 rows=1 loops=1)

  • Output: p3.lobj_name, p3.lobj_id, p2_1.commentushort, p2_1.lobj_id, p1_1.lobj_id, p1_1.lobj_name
  • Inner Unique: true
  • Buffers: shared hit=52 read=2
4. 0.001 3.519 ↑ 1.0 1 1

Nested Loop (cost=3.86..11.09 rows=1 width=43) (actual time=3.514..3.519 rows=1 loops=1)

  • Output: p3.lobj_name, p3.lobj_id, ln1_1.parentlobj_id, p2_1.commentushort, p2_1.lobj_id
  • Buffers: shared hit=49 read=2
5. 0.004 0.249 ↑ 1.0 1 1

Nested Loop (cost=3.73..10.43 rows=1 width=31) (actual time=0.245..0.249 rows=1 loops=1)

  • Output: ln3.parentlobj_id, ln1_1.parentlobj_id, p2_1.commentushort, p2_1.lobj_id
  • Join Filter: (p2.lobj_id = ln2.parentlobj_id)
  • Rows Removed by Join Filter: 1
  • Buffers: shared hit=49
6. 0.005 0.221 ↓ 2.0 2 1

Merge Join (cost=3.32..9.24 rows=1 width=63) (actual time=0.212..0.221 rows=2 loops=1)

  • Output: ln1.parentlobj_id, p1.lobj_id, p2.lobj_id, ln3.childlobj_id, ln3.parentlobj_id, ln1_1.parentlobj_id, p2_1.commentushort, p2_1.lobj_id
  • Merge Cond: (ln3.childlobj_id = p2.lobj_id)
  • Buffers: shared hit=40
7. 0.002 0.203 ↑ 2.0 2 1

Nested Loop (cost=3.19..18.58 rows=4 width=55) (actual time=0.196..0.203 rows=2 loops=1)

  • Output: ln1.parentlobj_id, p1.lobj_id, ln3.childlobj_id, ln3.parentlobj_id, ln1_1.parentlobj_id, p2_1.commentushort, p2_1.lobj_id
  • Buffers: shared hit=38
8. 0.045 0.045 ↑ 2.0 2 1

Index Only Scan using ix_objectlink_child_id on dalimes.objectlink ln3 (cost=0.42..3.42 rows=4 width=16) (actual time=0.044..0.045 rows=2 loops=1)

  • Output: ln3.childotpl_id, ln3.childlobj_id, ln3.ts_deletion, ln3.parentotpl_id, ln3.parentlobj_id
  • Index Cond: ((ln3.childotpl_id = 33) AND (ln3.ts_deletion = 0) AND (ln3.parentotpl_id = 16))
  • Heap Fetches: 0
  • Buffers: shared hit=4
9. 0.010 0.156 ↑ 1.0 1 2

Materialize (cost=2.77..15.11 rows=1 width=39) (actual time=0.075..0.078 rows=1 loops=2)

  • Output: ln1.parentlobj_id, p1.lobj_id, ln1_1.parentlobj_id, p2_1.commentushort, p2_1.lobj_id
  • Buffers: shared hit=34
10. 0.001 0.146 ↑ 1.0 1 1

Nested Loop (cost=2.77..15.11 rows=1 width=39) (actual time=0.142..0.146 rows=1 loops=1)

  • Output: ln1.parentlobj_id, p1.lobj_id, ln1_1.parentlobj_id, p2_1.commentushort, p2_1.lobj_id
  • Buffers: shared hit=34
11. 0.001 0.085 ↑ 1.0 1 1

Nested Loop (cost=1.52..9.64 rows=1 width=32) (actual time=0.083..0.085 rows=1 loops=1)

  • Output: l0.lobj_id, ln1.parentlobj_id, p1.lobj_id, ln1_1.parentlobj_id
  • Buffers: shared hit=19
12. 0.002 0.072 ↑ 1.0 1 1

Nested Loop (cost=1.11..7.18 rows=1 width=24) (actual time=0.071..0.072 rows=1 loops=1)

  • Output: l0.lobj_id, ln1.parentlobj_id, p1.lobj_id
  • Inner Unique: true
  • Buffers: shared hit=14
13. 0.003 0.050 ↑ 1.0 1 1

Nested Loop (cost=0.83..4.88 rows=1 width=16) (actual time=0.049..0.050 rows=1 loops=1)

  • Output: l0.lobj_id, ln1.parentlobj_id
  • Buffers: shared hit=10
14. 0.024 0.024 ↑ 1.0 1 1

Index Only Scan using ix_objectlink_child_id on dalimes.objectlink ln1 (cost=0.42..2.44 rows=1 width=16) (actual time=0.023..0.024 rows=1 loops=1)

  • Output: ln1.childotpl_id, ln1.childlobj_id, ln1.ts_deletion, ln1.parentotpl_id, ln1.parentlobj_id
  • Index Cond: ((ln1.childotpl_id = 35) AND (ln1.childlobj_id = '9184'::bigint) AND (ln1.ts_deletion = 0) AND (ln1.parentotpl_id = 59))
  • Heap Fetches: 1
  • Buffers: shared hit=5
15. 0.023 0.023 ↑ 1.0 1 1

Index Only Scan using ixu_o_filebag_idlist on dalimes.o_filebag l0 (cost=0.41..2.43 rows=1 width=8) (actual time=0.023..0.023 rows=1 loops=1)

  • Output: l0.ts_deletion, l0.lobj_id
  • Index Cond: ((l0.ts_deletion = 0) AND (l0.lobj_id = '9184'::bigint))
  • Heap Fetches: 1
  • Buffers: shared hit=5
16. 0.020 0.020 ↑ 1.0 1 1

Index Only Scan using ixu_o_pageorder_idlist on dalimes.o_pageorder p1 (cost=0.28..2.30 rows=1 width=8) (actual time=0.020..0.020 rows=1 loops=1)

  • Output: p1.ts_deletion, p1.lobj_id
  • Index Cond: ((p1.ts_deletion = 0) AND (p1.lobj_id = ln1.parentlobj_id))
  • Heap Fetches: 1
  • Buffers: shared hit=4
17. 0.012 0.012 ↑ 1.0 1 1

Index Only Scan using ix_objectlink_child_id on dalimes.objectlink ln1_1 (cost=0.42..2.44 rows=1 width=16) (actual time=0.012..0.012 rows=1 loops=1)

  • Output: ln1_1.childotpl_id, ln1_1.childlobj_id, ln1_1.ts_deletion, ln1_1.parentotpl_id, ln1_1.parentlobj_id
  • Index Cond: ((ln1_1.childotpl_id = 35) AND (ln1_1.childlobj_id = '9184'::bigint) AND (ln1_1.ts_deletion = 0) AND (ln1_1.parentotpl_id = 59))
  • Heap Fetches: 1
  • Buffers: shared hit=5
18. 0.002 0.060 ↑ 1.0 1 1

Nested Loop (cost=1.24..5.46 rows=1 width=23) (actual time=0.058..0.060 rows=1 loops=1)

  • Output: ln1_2.childlobj_id, p2_1.commentushort, p2_1.lobj_id
  • Buffers: shared hit=15
19. 0.002 0.047 ↑ 1.0 1 1

Nested Loop (cost=1.11..5.29 rows=1 width=16) (actual time=0.046..0.047 rows=1 loops=1)

  • Output: ln1_2.childlobj_id, ln2_1.parentlobj_id
  • Inner Unique: true
  • Join Filter: (ln1_2.parentlobj_id = p1_2.lobj_id)
  • Buffers: shared hit=13
20. 0.002 0.034 ↑ 1.0 1 1

Nested Loop (cost=0.83..4.89 rows=1 width=32) (actual time=0.033..0.034 rows=1 loops=1)

  • Output: ln1_2.parentlobj_id, ln1_2.childlobj_id, ln2_1.childlobj_id, ln2_1.parentlobj_id
  • Buffers: shared hit=9
21. 0.013 0.013 ↑ 1.0 1 1

Index Only Scan using ix_objectlink_child_id on dalimes.objectlink ln1_2 (cost=0.42..2.44 rows=1 width=16) (actual time=0.013..0.013 rows=1 loops=1)

  • Output: ln1_2.childotpl_id, ln1_2.childlobj_id, ln1_2.ts_deletion, ln1_2.parentotpl_id, ln1_2.parentlobj_id
  • Index Cond: ((ln1_2.childotpl_id = 35) AND (ln1_2.childlobj_id = '9184'::bigint) AND (ln1_2.ts_deletion = 0) AND (ln1_2.parentotpl_id = 59))
  • Heap Fetches: 1
  • Buffers: shared hit=5
22. 0.019 0.019 ↑ 1.0 1 1

Index Scan using ix_objectlink_ctctp on dalimes.objectlink ln2_1 (cost=0.41..2.44 rows=1 width=16) (actual time=0.019..0.019 rows=1 loops=1)

  • Output: ln2_1.olnk_id, ln2_1.parentotpl_id, ln2_1.parentlobj_id, ln2_1.childotpl_id, ln2_1.childlobj_id, ln2_1.ts_deletion
  • Index Cond: ((ln2_1.childlobj_id = ln1_2.parentlobj_id) AND (ln2_1.childotpl_id = 59) AND (ln2_1.parentotpl_id = 33))
  • Buffers: shared hit=4
23. 0.011 0.011 ↑ 1.0 1 1

Index Only Scan using ixu_o_pageorder_idlist on dalimes.o_pageorder p1_2 (cost=0.28..0.38 rows=1 width=8) (actual time=0.011..0.011 rows=1 loops=1)

  • Output: p1_2.ts_deletion, p1_2.lobj_id
  • Index Cond: ((p1_2.ts_deletion = 0) AND (p1_2.lobj_id = ln2_1.childlobj_id))
  • Heap Fetches: 1
  • Buffers: shared hit=4
24. 0.011 0.011 ↑ 1.0 1 1

Index Scan using ixu_o_job_id on dalimes.o_job p2_1 (cost=0.13..0.16 rows=1 width=15) (actual time=0.010..0.011 rows=1 loops=1)

  • Output: p2_1.outerpage_scalingvalue, p2_1.new_useissuescaling, p2_1.new_routingmargins, p2_1.lobj_isroot, p2_1.blocksize_back, p2_1.lobj_id, p2_1.new_defaultoffsety, p2_1.new_pageorderworkflow, p2_1.segmenttrim_overfold, p2_1.new_defaultrotation, p2_1.new_publicationdate, p2_1.new_defaultoffsetx, p2_1.new_collatingmarksposition, p2_1.new_simulation, p2_1.new_shrinkouterribon, p2_1.new_jobworkflow, p2_1.new_inhousepostprocessing, p2_1.syshierarchy, p2_1.printedtrim_footer, p2_1.parent_node_id, p2_1.outerpage_creepvalue, p2_1.segmenttrim_outer, p2_1.lobj_name, p2_1.segmenttrim_routingmargins, p2_1.new_folding, p2_1.new_lockshortname, p2_1.new_priority, p2_1.maximalscaling_use, p2_1.maximalscaling_value, p2_1.new_reversedview, p2_1.new_trimmedwidth, p2_1.new_safetylr, p2_1.ostt_list, p2_1.lobj_version, p2_1.new_exportasrss, p2_1.new_formworkflow, p2_1.new_rolemasks, p2_1.nw_denyupdateofpublicationda, p2_1.new_trimmedheight, p2_1.ts_deletion, p2_1.new_shiftmark, p2_1.new_site, p2_1.new_iccname, p2_1.maximalscaling_steps, p2_1.ts_creation, p2_1.printedtrim_head, p2_1.printedtrim_face, p2_1.new_skalingmethod, p2_1.outerpage_scalingstartvalue, p2_1.segmenttrim_gutter, p2_1.new_bleedleftandright, p2_1.new_usesectionscaling, p2_1.new_pagecuttoff, p2_1.ts_lastchange, p2_1.commentulong, p2_1.new_usenbpageforskaling, p2_1.creationuser_code, p2_1.new_safetytb, p2_1.new_planningstartdate, p2_1.new_creepingreference, p2_1.new_applycreeping, p2_1.new_compensatebracketeffect, p2_1.segmenttrim_millingdepth, p2_1.blocksize_front, p2_1.segmenttrim_footer, p2_1.new_bleedtopandbottom, p2_1.new_uselinearissuescaling, p2_1.innerpage_scalingvalue, p2_1.maximalscaling_stepsperform, p2_1.innerpage_creepvalue, p2_1.commentushort, p2_1.nw_issynchronizedwithplannin, p2_1.new_reelpostprocessing, p2_1.node_id, p2_1.new_uselinearsectionscaling, p2_1.new_mainpageorder, p2_1.ostt_value, p2_1.lastchangeuser_code, p2_1.segmenttrim_head
  • Index Cond: ((p2_1.lobj_id = ln2_1.parentlobj_id) AND (p2_1.ts_deletion = 0))
  • Filter: (p2_1.lobj_id <> '0'::bigint)
  • Buffers: shared hit=2
25. 0.013 0.013 ↑ 1.0 2 1

Index Only Scan using ixu_o_job_id on dalimes.o_job p2 (cost=0.13..2.19 rows=2 width=8) (actual time=0.012..0.013 rows=2 loops=1)

  • Output: p2.lobj_id, p2.ts_deletion, p2.syshierarchy, p2.lobj_name
  • Index Cond: (p2.ts_deletion = 0)
  • Heap Fetches: 0
  • Buffers: shared hit=2
26. 0.024 0.024 ↑ 1.0 1 2

Index Only Scan using ix_objectlink_child_id on dalimes.objectlink ln2 (cost=0.42..1.17 rows=1 width=16) (actual time=0.011..0.012 rows=1 loops=2)

  • Output: ln2.childotpl_id, ln2.childlobj_id, ln2.ts_deletion, ln2.parentotpl_id, ln2.parentlobj_id
  • Index Cond: ((ln2.childotpl_id = 59) AND (ln2.childlobj_id = p1.lobj_id) AND (ln2.ts_deletion = 0) AND (ln2.parentotpl_id = 33))
  • Heap Fetches: 2
  • Buffers: shared hit=9
27. 3.269 3.269 ↑ 1.0 1 1

Index Only Scan using ixu_o_customer_id on dalimes.o_customer p3 (cost=0.12..0.65 rows=1 width=20) (actual time=3.268..3.269 rows=1 loops=1)

  • Output: p3.lobj_id, p3.ts_deletion, p3.syshierarchy, p3.lobj_name
  • Index Cond: ((p3.lobj_id = ln3.parentlobj_id) AND (p3.ts_deletion = 0))
  • Filter: (p3.lobj_id <> '0'::bigint)
  • Heap Fetches: 0
  • Buffers: shared read=2
28. 0.028 0.028 ↑ 1.0 1 1

Index Scan using ixu_o_pageorder_idlist on dalimes.o_pageorder p1_1 (cost=0.28..2.30 rows=1 width=35) (actual time=0.028..0.028 rows=1 loops=1)

  • Output: p1_1.commentushort, p1_1.settings_pagespreadnumber, p1_1.lobj_version, p1_1.ostt_value, p1_1.archive_arcid, p1_1.settings_uuid, p1_1.parent_node_id, p1_1.settings_rolemasks, p1_1.ss_virtualspreadnumber, p1_1.commentulong, p1_1.lobj_name, p1_1.lobj_id, p1_1.lastchangeuser_code, p1_1.archive_restoreid, p1_1.references_pageordername, p1_1.node_id, p1_1.references_pageordercolor, p1_1.settings_parameterset, p1_1.ts_creation, p1_1.settings_priority, p1_1.syshierarchy, p1_1.settings_wflname, p1_1.creationuser_code, p1_1.ts_deletion, p1_1.ts_lastchange, p1_1.lobj_isroot, p1_1.ostt_list
  • Index Cond: ((p1_1.ts_deletion = 0) AND (p1_1.lobj_id = ln1_1.parentlobj_id))
  • Filter: (p1_1.lobj_id <> '0'::bigint)
  • Buffers: shared hit=3
Planning time : 232.591 ms
Execution time : 3.818 ms