explain.depesz.com

PostgreSQL's explain analyze made readable

Result: PCKG

Settings
# exclusive inclusive rows x rows loops node
1. 5.741 1,114.938 ↑ 1.0 10 1

Limit (cost=19,901.54..19,901.56 rows=10 width=77) (actual time=1,109.199..1,114.938 rows=10 loops=1)

2. 0.041 1,109.197 ↑ 202.5 10 1

Sort (cost=19,901.54..19,906.60 rows=2,025 width=77) (actual time=1,109.197..1,109.197 rows=10 loops=1)

  • Sort Key: (max(request_logs.duration)) DESC
  • Sort Method: quicksort Memory: 26kB
3. 0.000 1,109.156 ↑ 155.8 13 1

Finalize GroupAggregate (cost=19,324.50..19,857.78 rows=2,025 width=77) (actual time=1,108.218..1,109.156 rows=13 loops=1)

  • Group Key: request_logs.name
4. 51.232 1,113.909 ↑ 103.8 39 1

Gather Merge (cost=19,324.50..19,797.03 rows=4,050 width=93) (actual time=1,108.159..1,113.909 rows=39 loops=1)

  • Workers Planned: 2
  • Workers Launched: 2
5. 0.105 1,062.677 ↑ 155.8 13 3 / 3

Sort (cost=18,324.47..18,329.53 rows=2,025 width=93) (actual time=1,062.676..1,062.677 rows=13 loops=3)

  • Sort Key: request_logs.name
  • Sort Method: quicksort Memory: 26kB
  • Worker 0: Sort Method: quicksort Memory: 26kB
  • Worker 1: Sort Method: quicksort Memory: 26kB
6. 60.064 1,062.572 ↑ 155.8 13 3 / 3

Partial HashAggregate (cost=18,193.01..18,213.26 rows=2,025 width=93) (actual time=1,062.408..1,062.572 rows=13 loops=3)

  • Group Key: request_logs.name
7. 25.165 1,002.508 ↓ 5.4 93,692 3 / 3

Nested Loop (cost=91.52..18,062.44 rows=17,410 width=61) (actual time=338.500..1,002.508 rows=93,692 loops=3)

8. 4.337 626.942 ↓ 1.9 3,728 3 / 3

Hash Join (cost=91.09..10,910.94 rows=1,940 width=4) (actual time=337.264..626.942 rows=3,728 loops=3)

  • Hash Cond: (tasks.test_id = tests.id)
9. 620.040 620.040 ↑ 1.2 7,355 3 / 3

Parallel Seq Scan on tasks (cost=0.00..10,766.09 rows=9,162 width=8) (actual time=332.375..620.040 rows=7,355 loops=3)

  • Filter: ((updated_at >= '2020-01-01 00:00:00+00'::timestamp with time zone) AND (updated_at <= '2020-01-31 22:00:00+00'::timestamp with time zone))
  • Rows Removed by Filter: 17076
10. 0.062 2.565 ↑ 3.6 147 3 / 3

Hash (cost=84.42..84.42 rows=534 width=4) (actual time=2.565..2.565 rows=147 loops=3)

  • Buckets: 1024 Batches: 1 Memory Usage: 14kB
11. 0.026 2.503 ↑ 3.6 147 3 / 3

Nested Loop (cost=4.08..84.42 rows=534 width=4) (actual time=0.471..2.503 rows=147 loops=3)

12. 0.005 0.149 ↑ 1.0 1 3 / 3

Nested Loop (cost=0.00..2.96 rows=1 width=4) (actual time=0.135..0.149 rows=1 loops=3)

13. 0.056 0.056 ↑ 1.0 1 3 / 3

Seq Scan on organizations (cost=0.00..1.48 rows=1 width=4) (actual time=0.049..0.056 rows=1 loops=3)

  • Filter: (id = 1)
  • Rows Removed by Filter: 37
14. 0.088 0.088 ↑ 1.0 1 3 / 3

Seq Scan on organization_members (cost=0.00..1.48 rows=1 width=4) (actual time=0.080..0.088 rows=1 loops=3)

  • Filter: (organization_id = 1)
  • Rows Removed by Filter: 37
15. 1.379 2.328 ↑ 3.6 147 3 / 3

Hash Join (cost=4.08..76.12 rows=534 width=8) (actual time=0.333..2.328 rows=147 loops=3)

  • Hash Cond: (tests.test_suite_id = test_suites.id)
16. 0.716 0.716 ↑ 1.0 2,522 3 / 3

Seq Scan on tests (cost=0.00..65.22 rows=2,522 width=8) (actual time=0.035..0.716 rows=2,522 loops=3)

17. 0.034 0.233 ↑ 1.0 29 3 / 3

Hash (cost=3.71..3.71 rows=29 width=8) (actual time=0.232..0.233 rows=29 loops=3)

  • Buckets: 1024 Batches: 1 Memory Usage: 10kB
18. 0.199 0.199 ↑ 1.0 29 3 / 3

Seq Scan on test_suites (cost=0.00..3.71 rows=29 width=8) (actual time=0.066..0.199 rows=29 loops=3)

  • Filter: (organization_id = 1)
  • Rows Removed by Filter: 108
19. 350.401 350.401 ↓ 1.3 25 11,183 / 3

Index Scan using request_logs_task_id on request_logs (cost=0.42..3.50 rows=19 width=65) (actual time=0.047..0.094 rows=25 loops=11,183)

  • Index Cond: (task_id = tasks.id)
  • Filter: ((entry_type)::text <> 'navigation'::text)
  • Rows Removed by Filter: 2
Planning time : 37.339 ms
Execution time : 1,115.470 ms