explain.depesz.com

PostgreSQL's explain analyze made readable

Result: L2yL

Settings
# exclusive inclusive rows x rows loops node
1. 2.756 101.228 ↓ 7,158.0 7,158 1

Unique (cost=1,850.38..1,850.43 rows=1 width=129) (actual time=97.915..101.228 rows=7,158 loops=1)

2. 68.165 98.472 ↓ 7,158.0 7,158 1

Sort (cost=1,850.38..1,850.39 rows=1 width=129) (actual time=97.913..98.472 rows=7,158 loops=1)

  • Sort Key: tests."order", tests.id, tests.name, tests.description, tests.starting_url, tests.continue_previous, tests.removed, tests.hook, tests.created_at, tests.updated_at, job_sets.id, job_sets.status, tasks.id, tasks.status, tasks.running_time, jobs.ending_time, jobs.id
  • Sort Method: quicksort Memory: 2094kB
3. 1.198 30.307 ↓ 7,158.0 7,158 1

Nested Loop (cost=864.45..1,850.37 rows=1 width=129) (actual time=7.109..30.307 rows=7,158 loops=1)

4. 0.003 0.084 ↑ 1.0 1 1

Nested Loop (cost=3.87..5.60 rows=1 width=4) (actual time=0.075..0.084 rows=1 loops=1)

  • Join Filter: (test_suites.organization_id = organization_members.organization_id)
5. 0.023 0.068 ↑ 1.0 1 1

Hash Join (cost=3.73..5.22 rows=1 width=12) (actual time=0.059..0.068 rows=1 loops=1)

  • Hash Cond: (organizations.id = test_suites.organization_id)
6. 0.010 0.010 ↑ 1.0 38 1

Seq Scan on organizations (cost=0.00..1.38 rows=38 width=4) (actual time=0.006..0.010 rows=38 loops=1)

7. 0.001 0.035 ↑ 1.0 1 1

Hash (cost=3.71..3.71 rows=1 width=8) (actual time=0.035..0.035 rows=1 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
8. 0.034 0.034 ↑ 1.0 1 1

Seq Scan on test_suites (cost=0.00..3.71 rows=1 width=8) (actual time=0.007..0.034 rows=1 loops=1)

  • Filter: (id = 137)
  • Rows Removed by Filter: 136
9. 0.013 0.013 ↑ 1.0 1 1

Index Only Scan using organization_members_organization_id on organization_members (cost=0.14..0.37 rows=1 width=4) (actual time=0.012..0.013 rows=1 loops=1)

  • Index Cond: (organization_id = organizations.id)
  • Heap Fetches: 0
10. 1.225 29.025 ↓ 7,158.0 7,158 1

Nested Loop Left Join (cost=860.58..1,844.76 rows=1 width=125) (actual time=7.032..29.025 rows=7,158 loops=1)

11. 0.005 0.106 ↓ 2.0 2 1

Nested Loop (cost=20.90..27.68 rows=1 width=87) (actual time=0.099..0.106 rows=2 loops=1)

  • Join Filter: (tests.id = tests_1.id)
  • Rows Removed by Join Filter: 1
12. 0.000 0.091 ↑ 1.0 2 1

Limit (cost=16.61..16.62 rows=2 width=4) (actual time=0.088..0.091 rows=2 loops=1)

13. 0.002 0.091 ↑ 1.0 2 1

Unique (cost=16.61..16.62 rows=2 width=4) (actual time=0.088..0.091 rows=2 loops=1)

14. 0.007 0.089 ↑ 1.0 2 1

Sort (cost=16.61..16.61 rows=2 width=4) (actual time=0.088..0.089 rows=2 loops=1)

  • Sort Key: tests_1.id
  • Sort Method: quicksort Memory: 25kB
15. 0.014 0.082 ↑ 1.0 2 1

Nested Loop (cost=8.16..16.60 rows=2 width=4) (actual time=0.072..0.082 rows=2 loops=1)

16. 0.002 0.051 ↑ 1.0 1 1

Nested Loop (cost=3.87..5.60 rows=1 width=4) (actual time=0.043..0.051 rows=1 loops=1)

  • Join Filter: (test_suites_1.organization_id = organization_members_1.organization_id)
17. 0.007 0.032 ↑ 1.0 1 1

Hash Join (cost=3.73..5.22 rows=1 width=12) (actual time=0.024..0.032 rows=1 loops=1)

  • Hash Cond: (organizations_1.id = test_suites_1.organization_id)
18. 0.011 0.011 ↑ 1.0 38 1

Seq Scan on organizations organizations_1 (cost=0.00..1.38 rows=38 width=4) (actual time=0.006..0.011 rows=38 loops=1)

19. 0.002 0.014 ↑ 1.0 1 1

Hash (cost=3.71..3.71 rows=1 width=8) (actual time=0.014..0.014 rows=1 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
20. 0.012 0.012 ↑ 1.0 1 1

Seq Scan on test_suites test_suites_1 (cost=0.00..3.71 rows=1 width=8) (actual time=0.004..0.012 rows=1 loops=1)

  • Filter: (id = 137)
  • Rows Removed by Filter: 136
21. 0.017 0.017 ↑ 1.0 1 1

Index Only Scan using organization_members_organization_id on organization_members organization_members_1 (cost=0.14..0.37 rows=1 width=4) (actual time=0.017..0.017 rows=1 loops=1)

  • Index Cond: (organization_id = organizations_1.id)
  • Heap Fetches: 0
22. 0.009 0.017 ↑ 1.0 2 1

Bitmap Heap Scan on tests tests_1 (cost=4.30..10.98 rows=2 width=8) (actual time=0.016..0.017 rows=2 loops=1)

  • Recheck Cond: (test_suite_id = 137)
  • Filter: ((hook IS NULL) AND (NOT removed))
  • Heap Blocks: exact=2
23. 0.008 0.008 ↑ 1.0 2 1

Bitmap Index Scan on tests_test_suite_id (cost=0.00..4.29 rows=2 width=0) (actual time=0.008..0.008 rows=2 loops=1)

  • Index Cond: (test_suite_id = 137)
24. 0.004 0.010 ↑ 1.0 2 2

Materialize (cost=4.30..10.99 rows=2 width=87) (actual time=0.004..0.005 rows=2 loops=2)

25. 0.003 0.006 ↑ 1.0 2 1

Bitmap Heap Scan on tests (cost=4.30..10.98 rows=2 width=87) (actual time=0.005..0.006 rows=2 loops=1)

  • Recheck Cond: (test_suite_id = 137)
  • Filter: ((hook IS NULL) AND (NOT removed))
  • Heap Blocks: exact=2
26. 0.003 0.003 ↑ 1.0 2 1

Bitmap Index Scan on tests_test_suite_id (cost=0.00..4.29 rows=2 width=0) (actual time=0.003..0.003 rows=2 loops=1)

  • Index Cond: (test_suite_id = 137)
27. 2.121 27.694 ↑ 13.1 3,579 2

Hash Join (cost=839.68..1,347.80 rows=46,928 width=42) (actual time=3.471..13.847 rows=3,579 loops=2)

  • Hash Cond: (jobs.job_set_id = job_sets.id)
28. 4.868 18.690 ↑ 13.1 3,579 2

Nested Loop (cost=0.58..385.49 rows=46,928 width=35) (actual time=0.011..9.345 rows=3,579 loops=2)

29. 6.664 6.664 ↓ 21.1 3,579 2

Index Scan using tasks_test_id on tasks (cost=0.29..327.03 rows=170 width=23) (actual time=0.007..3.332 rows=3,579 loops=2)

  • Index Cond: (test_id = tests.id)
30. 7.158 7.158 ↑ 1.0 1 7,158

Index Scan using jobs_pkey on jobs (cost=0.29..0.34 rows=1 width=16) (actual time=0.001..0.001 rows=1 loops=7,158)

  • Index Cond: (id = tasks.job_id)
31. 3.587 6.883 ↑ 1.0 17,560 1

Hash (cost=619.60..619.60 rows=17,560 width=11) (actual time=6.883..6.883 rows=17,560 loops=1)

  • Buckets: 32768 Batches: 1 Memory Usage: 994kB
32. 3.296 3.296 ↑ 1.0 17,560 1

Seq Scan on job_sets (cost=0.00..619.60 rows=17,560 width=11) (actual time=0.008..3.296 rows=17,560 loops=1)

Planning time : 2.027 ms
Execution time : 101.951 ms