explain.depesz.com

PostgreSQL's explain analyze made readable

Result: lN4I

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

Insert on project_pages_metadata (cost=1.61..53,021.19 rows=1,000 width=9) (actual rows= loops=)

  • Conflict Resolution: NOTHING
  • Conflict Arbiter Indexes: index_project_pages_metadata_on_project_id
2. 0.000 0.000 ↓ 0.0

Subquery Scan on *SELECT* (cost=1.61..53,021.19 rows=1,000 width=9) (actual rows= loops=)

3. 0.000 0.000 ↓ 0.0

Limit (cost=1.61..53,008.69 rows=1,000 width=5) (actual rows= loops=)

4. 0.000 0.000 ↓ 0.0

Merge Anti Join (cost=1.61..839,474.75 rows=15,837 width=5) (actual rows= loops=)

  • Merge Cond: (projects.id = project_pages_metadata_1.project_id)
5. 0.000 0.000 ↓ 0.0

Index Only Scan using projects_pkey on projects (cost=0.43..281,737.98 rows=11,249,210 width=4) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Index Only Scan using index_project_pages_metadata_on_project_id on project_pages_metadata project_pages_metadata_1 (cost=0.43..318,761.53 rows=11,233,373 width=8) (actual rows= loops=)

7.          

SubPlan (for Merge Anti Join)

8. 0.000 0.000 ↓ 0.0

Limit (cost=0.43..4.45 rows=1 width=1) (actual rows= loops=)

9. 0.000 0.000 ↓ 0.0

Index Only Scan using index_ci_builds_on_project_id_for_successfull_pages_deploy on ci_builds (cost=0.43..4.45 rows=1 width=1) (actual rows= loops=)

  • Index Cond: (project_id = projects.id)