explain.depesz.com

PostgreSQL's explain analyze made readable

Result: X9NJ

Settings
# exclusive inclusive rows x rows loops node
1. 0.001 16.887 ↑ 1.0 1 1

Unique (cost=13.84..13.86 rows=1 width=70) (actual time=16.886..16.887 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=10032 read=1
2. 0.060 16.886 ↑ 1.0 1 1

Sort (cost=13.84..13.85 rows=1 width=70) (actual time=16.885..16.886 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=10032 read=1
3. 0.002 16.826 ↑ 1.0 1 1

Nested Loop (cost=4.01..13.83 rows=1 width=70) (actual time=13.152..16.826 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=10029 read=1
4. 0.004 16.812 ↑ 1.0 1 1

Nested Loop (cost=3.74..11.53 rows=1 width=43) (actual time=13.138..16.812 rows=1 loops=1)

  • Output: p3.lobj_name, p3.lobj_id, ln1_1.parentlobj_id, p2_1.commentushort, p2_1.lobj_id
  • Join Filter: ((p2.lobj_id = ln3.childlobj_id) AND (p3.lobj_id = ln3.parentlobj_id))
  • Buffers: shared hit=10026 read=1
5. 0.731 16.784 ↑ 1.0 1 1

Nested Loop (cost=3.32..10.02 rows=1 width=59) (actual time=13.111..16.784 rows=1 loops=1)

  • Output: ln2.parentlobj_id, p2.lobj_id, p3.lobj_name, p3.lobj_id, ln1_1.parentlobj_id, p2_1.commentushort, p2_1.lobj_id
  • Buffers: shared hit=10022 read=1
6. 1.071 11.121 ↓ 1,644.0 1,644 1

Nested Loop (cost=2.90..9.00 rows=1 width=83) (actual time=1.545..11.121 rows=1,644 loops=1)

  • Output: l0.lobj_id, p1.lobj_id, ln2.childlobj_id, ln2.parentlobj_id, p2.lobj_id, p3.lobj_name, p3.lobj_id, ln1_1.parentlobj_id, p2_1.commentushort, p2_1.lobj_id
  • Inner Unique: true
  • Buffers: shared hit=5088 read=1
7. 0.800 5.118 ↓ 1,644.0 1,644 1

Merge Join (cost=2.62..7.55 rows=1 width=75) (actual time=1.515..5.118 rows=1,644 loops=1)

  • Output: l0.lobj_id, ln2.childlobj_id, ln2.parentlobj_id, p2.lobj_id, p3.lobj_name, p3.lobj_id, ln1_1.parentlobj_id, p2_1.commentushort, p2_1.lobj_id
  • Merge Cond: (ln2.parentlobj_id = p2.lobj_id)
  • Buffers: shared hit=767 read=1
8. 0.786 4.066 ↓ 82.2 1,644 1

Nested Loop (cost=2.49..59.51 rows=20 width=67) (actual time=1.501..4.066 rows=1,644 loops=1)

  • Output: l0.lobj_id, ln2.childlobj_id, ln2.parentlobj_id, p3.lobj_name, p3.lobj_id, ln1_1.parentlobj_id, p2_1.commentushort, p2_1.lobj_id
  • Buffers: shared hit=765 read=1
9. 1.636 1.636 ↓ 82.2 1,644 1

Index Only Scan using pk_objectlink on dalimes.objectlink ln2 (cost=0.42..47.27 rows=20 width=16) (actual time=0.116..1.636 rows=1,644 loops=1)

  • Output: ln2.parentotpl_id, ln2.parentlobj_id, ln2.ts_deletion, ln2.childotpl_id, ln2.childlobj_id, ln2.olnk_id
  • Index Cond: ((ln2.parentotpl_id = 33) AND (ln2.ts_deletion = 0) AND (ln2.childotpl_id = 59))
  • Heap Fetches: 744
  • Buffers: shared hit=736
10. 0.266 1.644 ↑ 1.0 1 1,644

Materialize (cost=2.08..11.99 rows=1 width=51) (actual time=0.001..0.001 rows=1 loops=1,644)

  • Output: l0.lobj_id, p3.lobj_name, p3.lobj_id, ln1_1.parentlobj_id, p2_1.commentushort, p2_1.lobj_id
  • Buffers: shared hit=29 read=1
11. 0.001 1.378 ↑ 1.0 1 1

Nested Loop (cost=2.08..11.99 rows=1 width=51) (actual time=1.373..1.378 rows=1 loops=1)

  • Output: l0.lobj_id, p3.lobj_name, p3.lobj_id, ln1_1.parentlobj_id, p2_1.commentushort, p2_1.lobj_id
  • Buffers: shared hit=29 read=1
12. 0.002 1.250 ↑ 1.0 1 1

Nested Loop (cost=0.83..5.91 rows=1 width=36) (actual time=1.248..1.250 rows=1 loops=1)

  • Output: l0.lobj_id, p3.lobj_name, p3.lobj_id, ln1_1.parentlobj_id
  • Buffers: shared hit=13 read=1
13. 1.188 1.188 ↑ 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=1.188..1.188 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=7 read=1
14. 0.001 0.060 ↑ 1.0 1 1

Nested Loop (cost=0.41..3.46 rows=1 width=28) (actual time=0.058..0.060 rows=1 loops=1)

  • Output: l0.lobj_id, p3.lobj_name, p3.lobj_id
  • Buffers: shared hit=6
15. 0.048 0.048 ↑ 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.047..0.048 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.011 0.011 ↑ 1.0 1 1

Seq Scan on dalimes.o_customer p3 (cost=0.00..1.01 rows=1 width=20) (actual time=0.010..0.011 rows=1 loops=1)

  • Output: p3.lobj_id, p3.ts_creation, p3.lobj_isroot, p3.ostt_list, p3.syshierarchy, p3.lobj_name, p3.creationuser_code, p3.ts_deletion, p3.lobj_version, p3.commentulong, p3.defaultproduct_productid, p3.ostt_value, p3.node_id, p3.lastchangeuser_code, p3.ts_lastchange, p3.defaultsite_siteid, p3.parent_node_id, p3.commentushort
  • Filter: ((p3.lobj_id <> '0'::bigint) AND (p3.ts_deletion = 0))
  • Buffers: shared hit=1
17. 0.002 0.127 ↑ 1.0 1 1

Nested Loop (cost=1.25..6.07 rows=1 width=23) (actual time=0.125..0.127 rows=1 loops=1)

  • Output: ln1_2.childlobj_id, p2_1.commentushort, p2_1.lobj_id
  • Buffers: shared hit=16
18. 0.002 0.111 ↑ 1.0 1 1

Nested Loop (cost=1.11..5.76 rows=1 width=16) (actual time=0.110..0.111 rows=1 loops=1)

  • Output: ln1_2.childlobj_id, ln2_1.parentlobj_id
  • Buffers: shared hit=14
19. 0.002 0.050 ↑ 1.0 1 1

Nested Loop (cost=0.70..4.74 rows=1 width=24) (actual time=0.050..0.050 rows=1 loops=1)

  • Output: ln1_2.parentlobj_id, ln1_2.childlobj_id, p1_2.lobj_id
  • Inner Unique: true
  • Buffers: shared hit=9
20. 0.015 0.015 ↑ 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.015..0.015 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
21. 0.033 0.033 ↑ 1.0 1 1

Index Only Scan using ixu_o_pageorder_idlist on dalimes.o_pageorder p1_2 (cost=0.28..2.30 rows=1 width=8) (actual time=0.033..0.033 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 = ln1_2.parentlobj_id))
  • Heap Fetches: 1
  • Buffers: shared hit=4
22. 0.059 0.059 ↑ 1.0 1 1

Index Only Scan using ix_objectlink_child_id on dalimes.objectlink ln2_1 (cost=0.42..1.01 rows=1 width=16) (actual time=0.059..0.059 rows=1 loops=1)

  • Output: ln2_1.childotpl_id, ln2_1.childlobj_id, ln2_1.ts_deletion, ln2_1.parentotpl_id, ln2_1.parentlobj_id
  • Index Cond: ((ln2_1.childotpl_id = 59) AND (ln2_1.childlobj_id = p1_2.lobj_id) AND (ln2_1.ts_deletion = 0) AND (ln2_1.parentotpl_id = 33))
  • Heap Fetches: 1
  • Buffers: shared hit=5
23. 0.014 0.014 ↑ 1.0 1 1

Index Only Scan using ix_o_job_shortcomment on dalimes.o_job p2_1 (cost=0.13..0.30 rows=1 width=15) (actual time=0.013..0.014 rows=1 loops=1)

  • Output: p2_1.commentushort, p2_1.ts_deletion, p2_1.lobj_id
  • Index Cond: ((p2_1.ts_deletion = 0) AND (p2_1.lobj_id = ln2_1.parentlobj_id))
  • Filter: (p2_1.lobj_id <> '0'::bigint)
  • Heap Fetches: 0
  • Buffers: shared hit=2
24. 0.252 0.252 ↓ 100.5 201 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.011..0.252 rows=201 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
25. 4.932 4.932 ↑ 1.0 1 1,644

Index Only Scan using ixu_o_pageorder_idlist on dalimes.o_pageorder p1 (cost=0.28..1.45 rows=1 width=8) (actual time=0.003..0.003 rows=1 loops=1,644)

  • Output: p1.ts_deletion, p1.lobj_id
  • Index Cond: ((p1.ts_deletion = 0) AND (p1.lobj_id = ln2.childlobj_id))
  • Heap Fetches: 1032
  • Buffers: shared hit=4321
26. 4.932 4.932 ↓ 0.0 0 1,644

Index Only Scan using ix_objectlink_child_id on dalimes.objectlink ln1 (cost=0.42..1.01 rows=1 width=16) (actual time=0.003..0.003 rows=0 loops=1,644)

  • 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) AND (ln1.parentlobj_id = p1.lobj_id))
  • Heap Fetches: 1
  • Buffers: shared hit=4934
27. 0.024 0.024 ↑ 1.0 1 1

Index Only Scan using ix_objectlink_child_id on dalimes.objectlink ln3 (cost=0.42..1.49 rows=1 width=16) (actual time=0.023..0.024 rows=1 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.childlobj_id = ln2.parentlobj_id) AND (ln3.ts_deletion = 0) AND (ln3.parentotpl_id = 16))
  • Heap Fetches: 0
  • Buffers: shared hit=4
28. 0.012 0.012 ↑ 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.012..0.012 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 : 333.431 ms
Execution time : 17.388 ms