explain.depesz.com

PostgreSQL's explain analyze made readable

Result: Nyam : Deere List Fetch

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

Limit (cost=21,262.13..21,262.15 rows=10 width=64) (actual rows= loops=)

2. 0.000 0.000 ↓ 0.0

Sort (cost=21,262.13..21,262.63 rows=200 width=64) (actual rows= loops=)

  • Sort Key: (max(filter_query.row_number))
3. 0.000 0.000 ↓ 0.0

GroupAggregate (cost=21,244.56..21,257.81 rows=200 width=64) (actual rows= loops=)

  • Group Key: filter_query.uuid
4. 0.000 0.000 ↓ 0.0

Sort (cost=21,244.56..21,246.61 rows=820 width=6,594) (actual rows= loops=)

  • Sort Key: filter_query.uuid
5. 0.000 0.000 ↓ 0.0

Subquery Scan on filter_query (cost=19,821.12..19,843.67 rows=820 width=6,594) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

WindowAgg (cost=19,821.12..19,835.47 rows=820 width=6,554) (actual rows= loops=)

7.          

CTE full

8. 0.000 0.000 ↓ 0.0

Sort (cost=18,298.74..18,302.84 rows=1,640 width=1,461) (actual rows= loops=)

  • Sort Key: entity_value.created_at
9. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=671.39..18,211.17 rows=1,640 width=1,461) (actual rows= loops=)

10. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=670.97..15,503.07 rows=1,430 width=1,421) (actual rows= loops=)

11. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=670.55..13,144.16 rows=1,247 width=1,445) (actual rows= loops=)

12. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=670.13..10,783.38 rows=1,247 width=1,396) (actual rows= loops=)

13. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=669.71..8,734.66 rows=1,088 width=1,420) (actual rows= loops=)

14. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=669.29..7,200.26 rows=582 width=1,355) (actual rows= loops=)

15. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=668.87..6,098.43 rows=582 width=1,290) (actual rows= loops=)

  • Hash Cond: (referenced_reference_value.workflow_status_uuid = referenced_workflow_status.uuid)
16. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=499.54..5,927.58 rows=582 width=1,102) (actual rows= loops=)

  • Hash Cond: (referenced_reference_value.document_uuid = referenced_document.uuid)
17. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=275.75..5,702.26 rows=582 width=972) (actual rows= loops=)

18. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=275.32..4,523.34 rows=582 width=929) (actual rows= loops=)

19. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=274.91..3,439.58 rows=582 width=906) (actual rows= loops=)

20. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=274.48..2,338.22 rows=582 width=834) (actual rows= loops=)

21. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=274.06..948.05 rows=582 width=750) (actual rows= loops=)

  • Hash Cond: (entity_reference_value.workflow_status_uuid = workflow_status_value.uuid)
  • Filter: (((workflow_status_name_translation.locale = 'en-US'::text) OR (workflow_status_name_translation.locale IS NULL)) AND ((workflow_status_description_translation.locale = 'en-US'::text) OR (workflow_status_description_translation.locale IS NULL)))
22. 0.000 0.000 ↓ 0.0

Hash Right Join (cost=61.34..731.88 rows=916 width=496) (actual rows= loops=)

  • Hash Cond: (entity_value.entity_uuid = entity.uuid)
  • Filter: ((select_option_translation.locale = 'en-US'::text) OR (select_option_translation.locale IS NULL))
23. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=2.81..673.34 rows=8 width=496) (actual rows= loops=)

24. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=2.40..660.16 rows=7 width=520) (actual rows= loops=)

25. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=1.97..647.29 rows=4 width=455) (actual rows= loops=)

26. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=1.69..640.46 rows=4 width=325) (actual rows= loops=)

27. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=1.26..630.63 rows=4 width=282) (actual rows= loops=)

28. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=0.85..622.94 rows=4 width=259) (actual rows= loops=)

29. 0.000 0.000 ↓ 0.0

Index Scan using ux_entity_reference_value_for_field_in_entity on entity_value (cost=0.42..612.35 rows=4 width=155) (actual rows= loops=)

  • Index Cond: (entity_field_uuid = ANY ('{cfd670dd-97ad-49db-8228-2d816c9a71d7,79aad83f-0140-46ea-bf07-688553d48bc6,36cc5134-6c0f-49cd-b793-b76a4c4f720b,eff69611-b90e-4755-8a4c-3b2a41a7e901,09b017fd-2c7c-4867-8106-579a3dbb32ee,29f4fb8e-ede1-462c-9243-eb17ccde3af9,d145c622-aae5-4984-b6f9-a00127680994,7d92b04d-a18e-4c41-af05-b1b2f6368f2f,cc3d4d3e-a687-4ff7-b006-e8c5b91b3de0,e5eb2d8b-3054-4d85-a113-5fb0f9718249,6ea05dce-3661-44ac-8979-2c17a8b72605,438cc699-96ec-4cf0-91ea-5b93f906cfc1,c5fbe12d-193b-42e7-8b7b-060ea111011f,c56c7f58-2a4a-48c7-a8f8-74672a04ea4b,28d69d43-fbb3-4094-a914-62d82aa8dc6f,e68a03b1-a789-4236-8889-034f8af19329,3563ca49-e830-4b98-8fad-a172023ef258,487c2f5d-10dd-4350-817a-0e5b89725386,c886ef75-7609-48ef-8185-830ce0e1bd8e}'::uuid[]))
  • Filter: (company_id = 467)
30. 0.000 0.000 ↓ 0.0

Index Scan using ux_entity_reference_value_uuid on entity_reference_value (cost=0.43..2.65 rows=1 width=120) (actual rows= loops=)

  • Index Cond: (uuid = entity_value.entity_reference_value_uuid)
  • Filter: ((NOT deleted) AND (company_id = 467))
31. 0.000 0.000 ↓ 0.0

Index Scan using select_option_uuid_unique on select_option (cost=0.41..1.92 rows=1 width=39) (actual rows= loops=)

  • Index Cond: (uuid = entity_reference_value.select_option_uuid)
  • Filter: ((NOT deleted) AND (company_id = 467))
32. 0.000 0.000 ↓ 0.0

Index Scan using employee_uuid_unique on employee user_picker_employee (cost=0.43..2.46 rows=1 width=59) (actual rows= loops=)

  • Index Cond: (uuid = entity_reference_value.employee_uuid)
  • Filter: (company_id = 467)
33. 0.000 0.000 ↓ 0.0

Index Scan using document_uuid_unique on document (cost=0.28..1.71 rows=1 width=146) (actual rows= loops=)

  • Index Cond: (uuid = entity_reference_value.document_uuid)
  • Filter: ((NOT deleted) AND ((uploaded IS TRUE) OR (uploaded IS NULL)) AND (company_id = 467))
34. 0.000 0.000 ↓ 0.0

Index Scan using ux_translation_unit_item_uuid_item_type_item_property_type on translation_unit select_option_translation_unit (cost=0.42..3.20 rows=2 width=81) (actual rows= loops=)

  • Index Cond: (item_uuid = select_option.uuid)
35. 0.000 0.000 ↓ 0.0

Index Scan using ux_translation_key_locale on translation select_option_translation (cost=0.42..1.87 rows=1 width=106) (actual rows= loops=)

  • Index Cond: (select_option_translation_unit.translation_key = translation_key)
36. 0.000 0.000 ↓ 0.0

Hash (cost=50.84..50.84 rows=615 width=16) (actual rows= loops=)

37. 0.000 0.000 ↓ 0.0

Index Scan using ix_entity_config on entity (cost=0.41..50.84 rows=615 width=16) (actual rows= loops=)

  • Index Cond: (entity_config_uuid = '917c328a-bcdd-4da9-9886-ba0b28a394ac'::uuid)
  • Filter: (actions_run AND (company_id = 467))
38. 0.000 0.000 ↓ 0.0

Hash (cost=212.48..212.48 rows=19 width=270) (actual rows= loops=)

39. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=1.96..212.48 rows=19 width=270) (actual rows= loops=)

40. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=1.54..180.39 rows=17 width=294) (actual rows= loops=)

41. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=1.12..152.01 rows=15 width=318) (actual rows= loops=)

42. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=0.70..112.11 rows=15 width=253) (actual rows= loops=)

43. 0.000 0.000 ↓ 0.0

Index Scan using workflow_status_uuid_company_id_unique on workflow_status workflow_status_value (cost=0.28..72.21 rows=15 width=188) (actual rows= loops=)

  • Index Cond: (company_id = 467)
  • Filter: (NOT deleted)
44. 0.000 0.000 ↓ 0.0

Index Scan using ux_translation_unit_item_uuid_item_type_item_property_type on translation_unit workflow_status_name_translation_unit (cost=0.42..2.65 rows=1 width=81) (actual rows= loops=)

  • Index Cond: ((item_uuid = workflow_status_value.uuid) AND (item_property_type = 'name'::text))
45. 0.000 0.000 ↓ 0.0

Index Scan using ux_translation_unit_item_uuid_item_type_item_property_type on translation_unit workflow_status_description_translation_unit (cost=0.42..2.65 rows=1 width=81) (actual rows= loops=)

  • Index Cond: ((item_uuid = workflow_status_value.uuid) AND (item_property_type = 'description'::text))
46. 0.000 0.000 ↓ 0.0

Index Scan using ux_translation_key_locale on translation workflow_status_description_translation (cost=0.42..1.88 rows=1 width=106) (actual rows= loops=)

  • Index Cond: (workflow_status_description_translation_unit.translation_key = translation_key)
47. 0.000 0.000 ↓ 0.0

Index Scan using ux_translation_key_locale on translation workflow_status_name_translation (cost=0.42..1.88 rows=1 width=106) (actual rows= loops=)

  • Index Cond: (workflow_status_name_translation_unit.translation_key = translation_key)
48. 0.000 0.000 ↓ 0.0

Index Scan using ux_entity_reference_value_for_field_in_entity on entity_value referenced_value (cost=0.42..2.38 rows=1 width=132) (actual rows= loops=)

  • Index Cond: ((entity_field_uuid = entity_reference_value.referenced_entity_field_uuid) AND (entity_uuid = entity_reference_value.referenced_entity_uuid))
49. 0.000 0.000 ↓ 0.0

Index Scan using ux_entity_reference_value_uuid on entity_reference_value referenced_reference_value (cost=0.43..1.89 rows=1 width=88) (actual rows= loops=)

  • Index Cond: (uuid = referenced_value.entity_reference_value_uuid)
  • Filter: (NOT deleted)
50. 0.000 0.000 ↓ 0.0

Index Scan using select_option_uuid_unique on select_option referenced_select_option (cost=0.41..1.86 rows=1 width=39) (actual rows= loops=)

  • Index Cond: (uuid = referenced_reference_value.select_option_uuid)
  • Filter: (NOT deleted)
51. 0.000 0.000 ↓ 0.0

Index Scan using employee_uuid_unique on employee referenced_user (cost=0.43..2.03 rows=1 width=59) (actual rows= loops=)

  • Index Cond: (uuid = referenced_reference_value.employee_uuid)
52. 0.000 0.000 ↓ 0.0

Hash (cost=172.24..172.24 rows=4,124 width=146) (actual rows= loops=)

53. 0.000 0.000 ↓ 0.0

Seq Scan on document referenced_document (cost=0.00..172.24 rows=4,124 width=146) (actual rows= loops=)

  • Filter: ((NOT deleted) AND ((uploaded IS TRUE) OR (uploaded IS NULL)))
54. 0.000 0.000 ↓ 0.0

Hash (cost=138.04..138.04 rows=2,503 width=188) (actual rows= loops=)

55. 0.000 0.000 ↓ 0.0

Seq Scan on workflow_status referenced_workflow_status (cost=0.00..138.04 rows=2,503 width=188) (actual rows= loops=)

  • Filter: (NOT deleted)
56. 0.000 0.000 ↓ 0.0

Index Scan using ux_translation_unit_item_uuid_item_type_item_property_type on translation_unit referenced_workflow_status_name_translation_unit (cost=0.42..1.88 rows=1 width=81) (actual rows= loops=)

  • Index Cond: ((item_uuid = referenced_reference_value.workflow_status_uuid) AND (item_property_type = 'name'::text))
57. 0.000 0.000 ↓ 0.0

Index Scan using ux_translation_unit_item_uuid_item_type_item_property_type on translation_unit referenced_select_option_translation_unit (cost=0.42..2.62 rows=2 width=81) (actual rows= loops=)

  • Index Cond: (item_uuid = referenced_select_option.uuid)
58. 0.000 0.000 ↓ 0.0

Index Scan using ux_translation_key_locale on translation referenced_select_option_translation (cost=0.42..1.87 rows=1 width=106) (actual rows= loops=)

  • Index Cond: (referenced_select_option_translation_unit.translation_key = translation_key)
59. 0.000 0.000 ↓ 0.0

Index Scan using ux_translation_unit_item_uuid_item_type_item_property_type on translation_unit referenced_workflow_status_description_translation_unit (cost=0.42..1.88 rows=1 width=81) (actual rows= loops=)

  • Index Cond: ((item_uuid = referenced_reference_value.workflow_status_uuid) AND (item_property_type = 'description'::text))
60. 0.000 0.000 ↓ 0.0

Index Scan using ux_translation_key_locale on translation referenced_workflow_status_description_translation (cost=0.42..1.88 rows=1 width=106) (actual rows= loops=)

  • Index Cond: (referenced_workflow_status_description_translation_unit.translation_key = translation_key)
61. 0.000 0.000 ↓ 0.0

Index Scan using ux_translation_key_locale on translation referenced_workflow_status_name_translation (cost=0.42..1.88 rows=1 width=106) (actual rows= loops=)

  • Index Cond: (referenced_workflow_status_name_translation_unit.translation_key = translation_key)
62. 0.000 0.000 ↓ 0.0

Sort (cost=1,518.28..1,520.33 rows=820 width=6,546) (actual rows= loops=)

  • Sort Key: full_1."entityValueDate" DESC NULLS LAST
63. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=78.01..127.64 rows=820 width=6,546) (actual rows= loops=)

  • Hash Cond: ("full".uuid = full_1.uuid)
64. 0.000 0.000 ↓ 0.0

Hash Semi Join (cost=41.01..87.24 rows=820 width=6,538) (actual rows= loops=)

  • Hash Cond: ("full".uuid = full_2.uuid)
65. 0.000 0.000 ↓ 0.0

CTE Scan on "full" (cost=0.00..32.80 rows=1,640 width=6,538) (actual rows= loops=)

66. 0.000 0.000 ↓ 0.0

Hash (cost=41.00..41.00 rows=1 width=16) (actual rows= loops=)

67. 0.000 0.000 ↓ 0.0

CTE Scan on "full" full_2 (cost=0.00..41.00 rows=1 width=16) (actual rows= loops=)

  • Filter: (("workflowStatusValueUuid" = '7650becf-f98e-4212-8b1a-c2f1d60d1819'::uuid) AND ("entityFieldUuid" = '7d92b04d-a18e-4c41-af05-b1b2f6368f2f'::uuid))
68. 0.000 0.000 ↓ 0.0

Hash (cost=36.90..36.90 rows=8 width=24) (actual rows= loops=)

  • -> CTE Scan on "full" full_1 (cost=0.00..36.90 rows=8 width=24)" Filter: ("entityFieldUuid" = 'd145c622-aae5-4984-b6f9-a00127680994'::uuid)