explain.depesz.com

PostgreSQL's explain analyze made readable

Result: GOSF : pwc

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

Nested Loop (cost=1.15..83,294,522.26 rows=7,667 width=91) (actual rows= loops=)

2. 0.000 0.000 ↓ 0.0

Nested Loop Semi Join (cost=0.86..83,292,004.56 rows=7,667 width=68) (actual rows= loops=)

3. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.00..730.81 rows=11,279 width=64) (actual rows= loops=)

  • Join Filter: (userinfo0.id <> systeminformation2.rootuserid)
4. 0.000 0.000 ↓ 0.0

Seq Scan on systeminformation systeminformation2 (cost=0.00..1.01 rows=1 width=4) (actual rows= loops=)

5. 0.000 0.000 ↓ 0.0

Seq Scan on userinfo userinfo0 (cost=0.00..588.80 rows=11,280 width=64) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.86..22,793.79 rows=371 width=4) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

Index Scan using ixata2userid on dm_attendancetimeallocation_facts ttendancetimeallocation_facts3 (cost=0.43..13.28 rows=396 width=20) (actual rows= loops=)

  • Index Cond: (userid = userinfo0.id)
8. 0.000 0.000 ↓ 0.0

Index Scan using dm_attendancetimeallocation_facts_pkey on dm_attendancetimeallocation_facts ttendancetimeallocation_facts4 (cost=0.43..57.53 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (id = ttendancetimeallocation_facts3.id)
  • Filter: ((userid = 11,816) OR (SubPlan 1) OR (SubPlan 2) OR (SubPlan 3) OR (SubPlan 4))
9.          

SubPlan (for Index Scan)

10. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.71..7.82 rows=1 width=32) (actual rows= loops=)

  • Join Filter: (tsapprovalrequestkeyvalue5.parentid = tsapprovalrequestkeyvalue9.id)
11. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.57..5.64 rows=1 width=48) (actual rows= loops=)

  • Join Filter: (tsapprovalrequest8.id = tsapprovalrequestkeyvalue5.tsapprovalrequestid)
12. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.42..3.46 rows=1 width=4) (actual rows= loops=)

  • Join Filter: (timesheetapprovalnodes7.id = tsapprovalrequest8.nodeid)
13. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.42..2.45 rows=1 width=16) (actual rows= loops=)

14. 0.000 0.000 ↓ 0.0

Index Only Scan using timesheet_pkey on timesheet timesheet6 (cost=0.42..1.44 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (id = ttendancetimeallocation_facts4.timesheetid)
15. 0.000 0.000 ↓ 0.0

Seq Scan on timesheetapprovalnodes timesheetapprovalnodes7 (cost=0.00..1.00 rows=1 width=32) (actual rows= loops=)

  • Filter: (timesheetid = ttendancetimeallocation_facts4.timesheetid)
16. 0.000 0.000 ↓ 0.0

Seq Scan on tsapprovalrequest tsapprovalrequest8 (cost=0.00..1.00 rows=1 width=20) (actual rows= loops=)

  • Filter: (userid = 11,816)
17. 0.000 0.000 ↓ 0.0

Index Scan using ixtsarkvkey on tsapprovalrequestkeyvalue tsapprovalrequestkeyvalue5 (cost=0.14..2.16 rows=1 width=52) (actual rows= loops=)

  • Index Cond: (upper(key) = 'URN:REPLICON:APPROVAL-REQUEST-METADATA-KEY:ADDITIONAL-APPROVER-DATA-ACCESS-LEVELS'::text)
18. 0.000 0.000 ↓ 0.0

Index Scan using ixtsarkvparentid on tsapprovalrequestkeyvalue tsapprovalrequestkeyvalue9 (cost=0.14..2.16 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (parentid IS NULL)
19. 0.000 0.000 ↓ 0.0

Nested Loop (cost=17.08..31.41 rows=1 width=32) (actual rows= loops=)

20. 0.000 0.000 ↓ 0.0

Nested Loop (cost=16.52..30.73 rows=1 width=16) (actual rows= loops=)

21. 0.000 0.000 ↓ 0.0

Nested Loop (cost=15.96..26.09 rows=1 width=16) (actual rows= loops=)

22. 0.000 0.000 ↓ 0.0

Nested Loop (cost=15.40..25.41 rows=1 width=16) (actual rows= loops=)

23. 0.000 0.000 ↓ 0.0

Nested Loop (cost=14.83..24.02 rows=1 width=16) (actual rows= loops=)

24. 0.000 0.000 ↓ 0.0

Nested Loop (cost=14.27..19.38 rows=1 width=16) (actual rows= loops=)

25. 0.000 0.000 ↓ 0.0

Nested Loop (cost=13.71..16.78 rows=1 width=16) (actual rows= loops=)

26. 0.000 0.000 ↓ 0.0

Nested Loop (cost=4.26..6.31 rows=1 width=16) (actual rows= loops=)

27. 0.000 0.000 ↓ 0.0

Index Only Scan using timesheet_pkey on timesheet timesheet11 (cost=0.42..1.44 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (id = ttendancetimeallocation_facts4.timesheetid)
28. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on timesheetapprovalhistory timesheetapprovalhistory12 (cost=3.84..4.86 rows=1 width=32) (actual rows= loops=)

  • Recheck Cond: ((timesheetid = ttendancetimeallocation_facts4.timesheetid) AND (userid = 11,816))
29. 0.000 0.000 ↓ 0.0

BitmapAnd (cost=3.84..3.84 rows=1 width=0) (actual rows= loops=)

30. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on ixtah2timesheetid (cost=0.00..1.48 rows=7 width=0) (actual rows= loops=)

  • Index Cond: (timesheetid = ttendancetimeallocation_facts4.timesheetid)
31. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on ixtahuserid (cost=0.00..2.11 rows=91 width=0) (actual rows= loops=)

  • Index Cond: (userid = 11,816)
32. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue13 (cost=9.45..10.47 rows=1 width=32) (actual rows= loops=)

  • Recheck Cond: ((timesheetapprovalhistoryid = timesheetapprovalhistory12.id) AND (upper(uri) = 'URN:REPLICON-TENANT:1B8A55AA5F704DEA918923FE2DAF8CDA:USER:11,816'::text))
  • Filter: (upper(key) = 'URN:REPLICON:APPROVAL-HISTORICAL-ACTION-DATA-KEY:REMOVED-APPROVAL-REQUEST-NODES'::text)
33. 0.000 0.000 ↓ 0.0

BitmapAnd (cost=9.45..9.45 rows=1 width=0) (actual rows= loops=)

34. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on ixtahkvtimesheetapprovalhistoryid (cost=0.00..1.79 rows=31 width=0) (actual rows= loops=)

  • Index Cond: (timesheetapprovalhistoryid = timesheetapprovalhistory12.id)
35. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on ixtahkvuri (cost=0.00..7.34 rows=354 width=0) (actual rows= loops=)

  • Index Cond: (upper(uri) = 'URN:REPLICON-TENANT:1B8A55AA5F704DEA918923FE2DAF8CDA:USER:11,816'::text)
36. 0.000 0.000 ↓ 0.0

Index Scan using timesheetapprovalhistorykeyvalue_pkey on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue14 (cost=0.56..2.59 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (id = sheetapprovalhistorykeyvalue13.parentid)
  • Filter: (upper(uri) = 'URN:REPLICON:APPROVAL-HISTORICAL-ACTION-DATA-KEY:REMOVED-APPROVAL-REQUEST-EXPECTED-APPROVAL-AGENT-USER'::text)
37. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue15 (cost=0.56..4.63 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue14.parentid)
  • Filter: (upper(uri) = 'URN:REPLICON:APPROVAL-HISTORICAL-ACTION-DATA-KEY:REMOVED-APPROVAL-REQUEST-METADATA'::text)
38. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue16 (cost=0.56..1.37 rows=3 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue15.id)
39. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue17 (cost=0.56..0.66 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue16.id)
  • Filter: (upper(uri) = 'URN:REPLICON:APPROVAL-REQUEST-METADATA-KEY:ADDITIONAL-APPROVER-DATA-ACCESS-LEVELS'::text)
40. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue18 (cost=0.56..4.61 rows=3 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue17.id)
41. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue10 (cost=0.56..0.65 rows=3 width=93) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue18.id)
42. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.71..7.82 rows=1 width=32) (actual rows= loops=)

  • Join Filter: (tsapprovalrequestkeyvalue19.parentid = tsapprovalrequestkeyvalue23.id)
43. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.57..5.64 rows=1 width=48) (actual rows= loops=)

  • Join Filter: (tsapprovalrequest22.id = tsapprovalrequestkeyvalue19.tsapprovalrequestid)
44. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.42..3.46 rows=1 width=4) (actual rows= loops=)

  • Join Filter: (timesheetapprovalnodes21.id = tsapprovalrequest22.nodeid)
45. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.42..2.45 rows=1 width=16) (actual rows= loops=)

46. 0.000 0.000 ↓ 0.0

Index Only Scan using timesheet_pkey on timesheet timesheet20 (cost=0.42..1.44 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (id = ttendancetimeallocation_facts4.timesheetid)
47. 0.000 0.000 ↓ 0.0

Seq Scan on timesheetapprovalnodes timesheetapprovalnodes21 (cost=0.00..1.00 rows=1 width=32) (actual rows= loops=)

  • Filter: (timesheetid = ttendancetimeallocation_facts4.timesheetid)
48. 0.000 0.000 ↓ 0.0

Seq Scan on tsapprovalrequest tsapprovalrequest22 (cost=0.00..1.00 rows=1 width=20) (actual rows= loops=)

  • Filter: (userid = 11,816)
49. 0.000 0.000 ↓ 0.0

Index Scan using ixtsarkvkey on tsapprovalrequestkeyvalue tsapprovalrequestkeyvalue19 (cost=0.14..2.16 rows=1 width=52) (actual rows= loops=)

  • Index Cond: (upper(key) = 'URN:REPLICON:APPROVAL-REQUEST-METADATA-KEY:ADDITIONAL-APPROVER-ACCESSIBLE-OBJECTS'::text)
50. 0.000 0.000 ↓ 0.0

Index Scan using ixtsarkvparentid on tsapprovalrequestkeyvalue tsapprovalrequestkeyvalue23 (cost=0.14..2.16 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (parentid IS NULL)
51. 0.000 0.000 ↓ 0.0

Nested Loop (cost=17.08..31.41 rows=1 width=32) (actual rows= loops=)

52. 0.000 0.000 ↓ 0.0

Nested Loop (cost=16.52..30.73 rows=1 width=16) (actual rows= loops=)

53. 0.000 0.000 ↓ 0.0

Nested Loop (cost=15.96..26.09 rows=1 width=16) (actual rows= loops=)

54. 0.000 0.000 ↓ 0.0

Nested Loop (cost=15.40..25.41 rows=1 width=16) (actual rows= loops=)

55. 0.000 0.000 ↓ 0.0

Nested Loop (cost=14.83..24.02 rows=1 width=16) (actual rows= loops=)

56. 0.000 0.000 ↓ 0.0

Nested Loop (cost=14.27..19.38 rows=1 width=16) (actual rows= loops=)

57. 0.000 0.000 ↓ 0.0

Nested Loop (cost=13.71..16.78 rows=1 width=16) (actual rows= loops=)

58. 0.000 0.000 ↓ 0.0

Nested Loop (cost=4.26..6.31 rows=1 width=16) (actual rows= loops=)

59. 0.000 0.000 ↓ 0.0

Index Only Scan using timesheet_pkey on timesheet timesheet25 (cost=0.42..1.44 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (id = ttendancetimeallocation_facts4.timesheetid)
60. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on timesheetapprovalhistory timesheetapprovalhistory26 (cost=3.84..4.86 rows=1 width=32) (actual rows= loops=)

  • Recheck Cond: ((timesheetid = ttendancetimeallocation_facts4.timesheetid) AND (userid = 11,816))
61. 0.000 0.000 ↓ 0.0

BitmapAnd (cost=3.84..3.84 rows=1 width=0) (actual rows= loops=)

62. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on ixtah2timesheetid (cost=0.00..1.48 rows=7 width=0) (actual rows= loops=)

  • Index Cond: (timesheetid = ttendancetimeallocation_facts4.timesheetid)
63. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on ixtahuserid (cost=0.00..2.11 rows=91 width=0) (actual rows= loops=)

  • Index Cond: (userid = 11,816)
64. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue27 (cost=9.45..10.47 rows=1 width=32) (actual rows= loops=)

  • Recheck Cond: ((timesheetapprovalhistoryid = timesheetapprovalhistory26.id) AND (upper(uri) = 'URN:REPLICON-TENANT:1B8A55AA5F704DEA918923FE2DAF8CDA:USER:11,816'::text))
  • Filter: (upper(key) = 'URN:REPLICON:APPROVAL-HISTORICAL-ACTION-DATA-KEY:REMOVED-APPROVAL-REQUEST-NODES'::text)
65. 0.000 0.000 ↓ 0.0

BitmapAnd (cost=9.45..9.45 rows=1 width=0) (actual rows= loops=)

66. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on ixtahkvtimesheetapprovalhistoryid (cost=0.00..1.79 rows=31 width=0) (actual rows= loops=)

  • Index Cond: (timesheetapprovalhistoryid = timesheetapprovalhistory26.id)
67. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on ixtahkvuri (cost=0.00..7.34 rows=354 width=0) (actual rows= loops=)

  • Index Cond: (upper(uri) = 'URN:REPLICON-TENANT:1B8A55AA5F704DEA918923FE2DAF8CDA:USER:11,816'::text)
68. 0.000 0.000 ↓ 0.0

Index Scan using timesheetapprovalhistorykeyvalue_pkey on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue28 (cost=0.56..2.59 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (id = sheetapprovalhistorykeyvalue27.parentid)
  • Filter: (upper(uri) = 'URN:REPLICON:APPROVAL-HISTORICAL-ACTION-DATA-KEY:REMOVED-APPROVAL-REQUEST-EXPECTED-APPROVAL-AGENT-USER'::text)
69. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue29 (cost=0.56..4.63 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue28.parentid)
  • Filter: (upper(uri) = 'URN:REPLICON:APPROVAL-HISTORICAL-ACTION-DATA-KEY:REMOVED-APPROVAL-REQUEST-METADATA'::text)
70. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue30 (cost=0.56..1.37 rows=3 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue29.id)
71. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue31 (cost=0.56..0.66 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue30.id)
  • Filter: (upper(uri) = 'URN:REPLICON:APPROVAL-REQUEST-METADATA-KEY:ADDITIONAL-APPROVER-ACCESSIBLE-OBJECTS'::text)
72. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue32 (cost=0.56..4.61 rows=3 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue31.id)
73. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue24 (cost=0.56..0.65 rows=3 width=93) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue32.id)
74. 0.000 0.000 ↓ 0.0

Index Scan using login_pkey on login login1 (cost=0.29..0.33 rows=1 width=31) (actual rows= loops=)

  • Index Cond: (userid = userinfo0.id)