explain.depesz.com

PostgreSQL's explain analyze made readable

Result: mPwQ

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

Unique (cost=27,811.66..27,830.44 rows=2,338 width=826) (actual time=1.100..1.100 rows=0 loops=1)

  • Output: testing_test.id, testing_test.project_id, testing_test.area_id, testing_test.author_id, testing_test.name, testing_test.mix_name, testing_test.class_name, testing_test.testsuite_name, testing_test.description, testing_test.extra_data, testing_test.type, testing_test.tags, testing_test.lines, testing_test.parameters, testing_test.meta, testing_test.priority, testing_test.usage, testing_test.timeout, testing_test.created, testing_test.updated
  • Buffers: shared hit=763
2. 0.014 1.100 ↓ 0.0 0 1

Sort (cost=27,811.66..27,821.05 rows=3,756 width=826) (actual time=1.100..1.100 rows=0 loops=1)

  • Output: testing_test.id, testing_test.project_id, testing_test.area_id, testing_test.author_id, testing_test.name, testing_test.mix_name, testing_test.class_name, testing_test.testsuite_name, testing_test.description, testing_test.extra_data, testing_test.type, testing_test.tags, testing_test.lines, testing_test.parameters, testing_test.meta, testing_test.priority, testing_test.usage, testing_test.timeout, testing_test.created, testing_test.updated
  • Sort Key: testing_test.name
  • Sort Method: quicksort Memory: 25kB
  • Buffers: shared hit=763
3. 0.660 1.086 ↓ 0.0 0 1

Seq Scan on public.testing_test (cost=27,316.53..27,588.65 rows=3,756 width=826) (actual time=1.086..1.086 rows=0 loops=1)

  • Output: testing_test.id, testing_test.project_id, testing_test.area_id, testing_test.author_id, testing_test.name, testing_test.mix_name, testing_test.class_name, testing_test.testsuite_name, testing_test.description, testing_test.extra_data, testing_test.type, testing_test.tags, testing_test.lines, testing_test.parameters, testing_test.meta, testing_test.priority, testing_test.usage, testing_test.timeout, testing_test.created, testing_test.updated
  • Filter: ((hashed SubPlan 1) OR (hashed SubPlan 2))
  • Rows Removed by Filter: 5017
  • Buffers: shared hit=760
4.          

SubPlan (forSeq Scan)

5. 0.000 0.042 ↓ 0.0 0 1

Nested Loop (cost=1.14..118.81 rows=4 width=4) (actual time=0.042..0.042 rows=0 loops=1)

  • Output: v0.id
  • Inner Unique: true
  • Buffers: shared hit=8
6. 0.000 0.042 ↓ 0.0 0 1

Nested Loop (cost=1.00..118.15 rows=4 width=8) (actual time=0.042..0.042 rows=0 loops=1)

  • Output: v0.id, v0.project_id
  • Inner Unique: true
  • Buffers: shared hit=8
7. 0.000 0.042 ↓ 0.0 0 1

Nested Loop Semi Join (cost=0.71..84.94 rows=4 width=4) (actual time=0.042..0.042 rows=0 loops=1)

  • Output: v3.test_id
  • Join Filter: (v3.file_id = u1.file_id)
  • Rows Removed by Join Filter: 15
  • Buffers: shared hit=8
8. 0.013 0.013 ↓ 3.8 15 1

Seq Scan on public.testing_test_associated_files v3 (cost=0.00..1.04 rows=4 width=8) (actual time=0.011..0.013 rows=15 loops=1)

  • Output: v3.id, v3.test_id, v3.file_id
  • Filter: (v3.file_id IS NOT NULL)
  • Buffers: shared hit=1
9. 0.010 0.030 ↑ 20.0 1 15

Materialize (cost=0.71..82.75 rows=20 width=4) (actual time=0.002..0.002 rows=1 loops=15)

  • Output: u1.file_id
  • Buffers: shared hit=7
10. 0.002 0.020 ↑ 20.0 1 1

Nested Loop (cost=0.71..82.65 rows=20 width=4) (actual time=0.019..0.020 rows=1 loops=1)

  • Output: u1.file_id
  • Buffers: shared hit=7
11. 0.011 0.011 ↑ 1.0 1 1

Index Only Scan using vcs_commit_pkey on public.vcs_commit u0 (cost=0.29..8.31 rows=1 width=4) (actual time=0.011..0.011 rows=1 loops=1)

  • Output: u0.id
  • Index Cond: (u0.id = 284309)
  • Heap Fetches: 1
  • Buffers: shared hit=3
12. 0.007 0.007 ↑ 20.0 1 1

Index Scan using vcs_filechange_commit_id_9cce3570 on public.vcs_filechange u1 (cost=0.42..74.14 rows=20 width=8) (actual time=0.007..0.007 rows=1 loops=1)

  • Output: u1.id, u1.additions, u1.deletions, u1.changes, u1.status, u1.patch, u1.previous_filename, u1.created, u1.updated, u1.commit_id, u1.file_id, u1.blame
  • Index Cond: (u1.commit_id = 284309)
  • Buffers: shared hit=4
13. 0.000 0.000 ↓ 0.0 0

Index Scan using testing_test_pkey on public.testing_test v0 (cost=0.28..8.30 rows=1 width=8) (never executed)

  • Output: v0.id, v0.name, v0.description, v0.extra_data, v0.type, v0.tags, v0.lines, v0.parameters, v0.meta, v0.priority, v0.usage, v0.timeout, v0.created, v0.updated, v0.area_id, v0.author_id, v0.project_id, v0.mix_name, v0.class_name, v0.testsuite_name
  • Index Cond: (v0.id = v3.test_id)
14. 0.000 0.000 ↓ 0.0 0

Index Scan using project_project_pkey on public.project_project v1 (cost=0.14..0.16 rows=1 width=4) (never executed)

  • Output: v1.id, v1.name, v1.is_active, v1.created, v1.updated, v1.slug, v1.organization_id, v1.is_public
  • Index Cond: (v1.id = v0.project_id)
  • Filter: (v1.organization_id = 1)
15. 0.000 0.384 ↓ 0.0 0 1

Nested Loop (cost=2.85..27,195.78 rows=771 width=4) (actual time=0.384..0.384 rows=0 loops=1)

  • Output: u0_1.id
  • Inner Unique: true
  • Join Filter: (u0_1.project_id = u10.project_id)
  • Buffers: shared hit=555
16. 0.001 0.384 ↓ 0.0 0 1

Nested Loop (cost=2.56..2,298.69 rows=57,857 width=20) (actual time=0.383..0.384 rows=0 loops=1)

  • Output: u0_1.id, u0_1.project_id, u1_1.id, u3.project_id, u11.commit_id
  • Buffers: shared hit=555
17. 0.000 0.383 ↓ 0.0 0 1

Nested Loop (cost=2.14..937.08 rows=996 width=20) (actual time=0.383..0.383 rows=0 loops=1)

  • Output: u0_1.id, u0_1.project_id, u1_1.id, u3.project_id, u8.file_id
  • Join Filter: (u6.commit_id = u8.commit_id)
  • Buffers: shared hit=555
18. 0.000 0.383 ↓ 0.0 0 1

Nested Loop (cost=1.72..361.60 rows=179 width=24) (actual time=0.383..0.383 rows=0 loops=1)

  • Output: u0_1.id, u0_1.project_id, u1_1.id, u3.project_id, u6.commit_id, u7.id
  • Inner Unique: true
  • Buffers: shared hit=555
19. 0.000 0.383 ↓ 0.0 0 1

Nested Loop (cost=1.43..104.40 rows=179 width=20) (actual time=0.383..0.383 rows=0 loops=1)

  • Output: u0_1.id, u0_1.project_id, u1_1.id, u3.project_id, u6.commit_id
  • Join Filter: (u4.defect_id = u6.defect_id)
  • Buffers: shared hit=555
20. 0.001 0.383 ↓ 0.0 0 1

Nested Loop (cost=1.14..85.20 rows=23 width=24) (actual time=0.383..0.383 rows=0 loops=1)

  • Output: u0_1.id, u0_1.project_id, u1_1.id, u3.project_id, u4.defect_id, u5.id
  • Inner Unique: true
  • Buffers: shared hit=555
21. 0.003 0.290 ↓ 1.8 46 1

Nested Loop (cost=0.85..50.05 rows=25 width=20) (actual time=0.054..0.290 rows=46 loops=1)

  • Output: u0_1.id, u0_1.project_id, u1_1.id, u3.project_id, u4.defect_id
  • Buffers: shared hit=415
22. 0.037 0.104 ↓ 2.7 183 1

Nested Loop (cost=0.57..26.76 rows=67 width=16) (actual time=0.034..0.104 rows=183 loops=1)

  • Output: u0_1.id, u0_1.project_id, u1_1.id, u3.project_id
  • Buffers: shared hit=13
23. 0.005 0.022 ↑ 1.0 1 1

Nested Loop (cost=0.29..11.19 rows=1 width=8) (actual time=0.021..0.022 rows=1 loops=1)

  • Output: u1_1.id, u3.project_id
  • Inner Unique: true
  • Join Filter: (u1_1.id = u3.project_id)
  • Rows Removed by Join Filter: 74
  • Buffers: shared hit=4
24. 0.005 0.005 ↑ 1.0 1 1

Index Scan using vcs_commit_pkey on public.vcs_commit u3 (cost=0.29..8.31 rows=1 width=4) (actual time=0.004..0.005 rows=1 loops=1)

  • Output: u3.id, u3.repo_id, u3.sha, u3.display_id, u3.url, u3.author, u3.committer, u3.message, u3.stats, u3.tree, u3.rework, u3.output, u3.riskiness, u3."timestamp", u3.created, u3.updated, u3.project_id, u3.sender_id
  • Index Cond: (u3.id = 284309)
  • Buffers: shared hit=3
25. 0.012 0.012 ↑ 1.0 75 1

Seq Scan on public.project_project u1_1 (cost=0.00..1.94 rows=75 width=4) (actual time=0.005..0.012 rows=75 loops=1)

  • Output: u1_1.id, u1_1.name, u1_1.is_active, u1_1.created, u1_1.updated, u1_1.slug, u1_1.organization_id, u1_1.is_public
  • Filter: (u1_1.organization_id = 1)
  • Buffers: shared hit=1
26. 0.045 0.045 ↓ 1.3 183 1

Index Scan using testing_test_project_id_72f0275f on public.testing_test u0_1 (cost=0.28..14.14 rows=143 width=8) (actual time=0.011..0.045 rows=183 loops=1)

  • Output: u0_1.id, u0_1.name, u0_1.description, u0_1.extra_data, u0_1.type, u0_1.tags, u0_1.lines, u0_1.parameters, u0_1.meta, u0_1.priority, u0_1.usage, u0_1.timeout, u0_1.created, u0_1.updated, u0_1.area_id, u0_1.author_id, u0_1.project_id, u0_1.mix_name, u0_1.class_name, u0_1.testsuite_name
  • Index Cond: (u0_1.project_id = u1_1.id)
  • Buffers: shared hit=9
27. 0.183 0.183 ↓ 0.0 0 183

Index Scan using testing_defect_associated_tests_test_id_a256c0bd on public.testing_defect_associated_tests u4 (cost=0.28..0.33 rows=2 width=8) (actual time=0.001..0.001 rows=0 loops=183)

  • Output: u4.id, u4.defect_id, u4.test_id
  • Index Cond: (u4.test_id = u0_1.id)
  • Buffers: shared hit=402
28. 0.092 0.092 ↓ 0.0 0 46

Index Scan using testing_defect_pkey on public.testing_defect u5 (cost=0.28..1.41 rows=1 width=4) (actual time=0.002..0.002 rows=0 loops=46)

  • Output: u5.id, u5.name, u5.description, u5.reason, u5.error, u5.matching, u5.type, u5.create_type, u5.close_type, u5.close_reason, u5.status, u5.severity, u5.priority, u5.discovery_phase, u5.discovery_method, u5.origination_phase, u5.root_cause, u5.resolution_type, u5.leakage_reason, u5.found_date, u5.reopen_date, u5.close_date, u5.created, u5.updated, u5.closed_commit_id, u5.closed_test_id, u5.closed_test_run_id, u5.closed_test_run_result_id, u5.closed_test_suite_id, u5.created_by_commit_id, u5.created_by_test_id, u5.created_by_test_run_id, u5.created_by_test_run_result_id, u5.created_by_test_suite_id, u5.owner_id, u5.project_id, u5.original_defect_id
  • Index Cond: (u5.id = u4.defect_id)
  • Filter: ((u5.status = 4) AND (u5.type <> ALL ('{1,2,4}'::integer[])))
  • Rows Removed by Filter: 1
  • Buffers: shared hit=140
29. 0.000 0.000 ↓ 0.0 0

Index Scan using testing_defect_caused_by_commits_defect_id_e57b1581 on public.testing_defect_caused_by_commits u6 (cost=0.29..0.72 rows=9 width=8) (never executed)

  • Output: u6.id, u6.defect_id, u6.commit_id
  • Index Cond: (u6.defect_id = u5.id)
30. 0.000 0.000 ↓ 0.0 0

Index Only Scan using vcs_commit_pkey on public.vcs_commit u7 (cost=0.29..1.44 rows=1 width=4) (never executed)

  • Output: u7.id
  • Index Cond: (u7.id = u6.commit_id)
  • Heap Fetches: 0
31. 0.000 0.000 ↓ 0.0 0

Index Scan using vcs_filechange_commit_id_9cce3570 on public.vcs_filechange u8 (cost=0.42..2.90 rows=25 width=8) (never executed)

  • Output: u8.id, u8.additions, u8.deletions, u8.changes, u8.status, u8.patch, u8.previous_filename, u8.created, u8.updated, u8.commit_id, u8.file_id, u8.blame
  • Index Cond: (u8.commit_id = u7.id)
32. 0.000 0.000 ↓ 0.0 0

Index Scan using vcs_filechange_file_id_b4a56f61 on public.vcs_filechange u11 (cost=0.42..1.16 rows=21 width=8) (never executed)

  • Output: u11.id, u11.additions, u11.deletions, u11.changes, u11.status, u11.patch, u11.previous_filename, u11.created, u11.updated, u11.commit_id, u11.file_id, u11.blame
  • Index Cond: (u11.file_id = u8.file_id)
33. 0.000 0.000 ↓ 0.0 0

Index Scan using vcs_commit_pkey on public.vcs_commit u10 (cost=0.29..0.42 rows=1 width=8) (never executed)

  • Output: u10.id, u10.repo_id, u10.sha, u10.display_id, u10.url, u10.author, u10.committer, u10.message, u10.stats, u10.tree, u10.rework, u10.output, u10.riskiness, u10."timestamp", u10.created, u10.updated, u10.project_id, u10.sender_id
  • Index Cond: (u10.id = u11.commit_id)
Planning time : 33.799 ms
Execution time : 1.396 ms