explain.depesz.com

PostgreSQL's explain analyze made readable

Result: rVFJ

Settings
# exclusive inclusive rows x rows loops node
1. 6.042 774.305 ↑ 1.0 10 1

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

2. 0.070 768.263 ↑ 202.5 10 1

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

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

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

  • Group Key: request_logs.name
4. 26.606 774.153 ↑ 103.8 39 1

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

  • Workers Planned: 2
  • Workers Launched: 2
5. 0.083 747.547 ↑ 155.8 13 3 / 3

Sort (cost=18,324.47..18,329.53 rows=2,025 width=93) (actual time=747.546..747.547 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. 43.191 747.464 ↑ 155.8 13 3 / 3

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

  • Group Key: request_logs.name
7. 14.578 704.273 ↓ 5.4 93,692 3 / 3

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

8. 3.070 171.549 ↓ 1.9 3,728 3 / 3

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

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

Parallel Seq Scan on tasks (cost=0.00..10,766.09 rows=9,162 width=8) (actual time=50.123..167.022 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.036 1.457 ↑ 3.6 147 3 / 3

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

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

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

12. 0.006 0.135 ↑ 1.0 1 3 / 3

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

13. 0.057 0.057 ↑ 1.0 1 3 / 3

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

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

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

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

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

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

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

17. 0.021 0.091 ↑ 1.0 29 3 / 3

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

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

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

  • Filter: (organization_id = 1)
  • Rows Removed by Filter: 108
19. 518.146 518.146 ↓ 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.079..0.139 rows=25 loops=11,183)

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