explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 7LnS

Settings
# exclusive inclusive rows x rows loops node
1. 0.000 0.078 ↑ 1.0 10 1

Limit (cost=0.42..4.73 rows=10 width=1,129) (actual time=0.032..0.078 rows=10 loops=1)

2. 0.008 0.078 ↑ 76,451.3 10 1

Nested Loop (cost=0.42..329,084.18 rows=764,513 width=1,129) (actual time=0.032..0.078 rows=10 loops=1)

  • Join Filter: (pv.product_id = p.id)
  • Rows Removed by Join Filter: 29
3. 0.009 0.060 ↑ 76,451.3 10 1

Nested Loop (cost=0.42..283,212.35 rows=764,513 width=617) (actual time=0.027..0.060 rows=10 loops=1)

  • Join Filter: (tp.product_version_id = pv.id)
  • Rows Removed by Join Filter: 40
4. 0.009 0.041 ↑ 76,451.3 10 1

Nested Loop (cost=0.42..225,872.81 rows=764,513 width=343) (actual time=0.022..0.041 rows=10 loops=1)

  • Join Filter: (tp.status_id = s.id)
  • Rows Removed by Join Filter: 47
5. 0.012 0.012 ↑ 89,193.2 10 1

Index Scan Backward using threat_product_updated_idx on threat_product tp (cost=0.42..145,597.83 rows=891,932 width=89) (actual time=0.009..0.012 rows=10 loops=1)

6. 0.012 0.020 ↑ 1.0 6 10

Materialize (cost=0.00..1.12 rows=6 width=262) (actual time=0.001..0.002 rows=6 loops=10)

7. 0.008 0.008 ↑ 1.0 6 1

Seq Scan on status s (cost=0.00..1.09 rows=6 width=262) (actual time=0.007..0.008 rows=6 loops=1)

  • Filter: (id <> 2)
  • Rows Removed by Filter: 1
8. 0.007 0.010 ↑ 1.0 5 10

Materialize (cost=0.00..1.07 rows=5 width=282) (actual time=0.000..0.001 rows=5 loops=10)

9. 0.003 0.003 ↑ 1.0 5 1

Seq Scan on product_version pv (cost=0.00..1.05 rows=5 width=282) (actual time=0.002..0.003 rows=5 loops=1)

10. 0.007 0.010 ↑ 1.0 4 10

Materialize (cost=0.00..1.06 rows=4 width=520) (actual time=0.000..0.001 rows=4 loops=10)

11. 0.003 0.003 ↑ 1.0 4 1

Seq Scan on product p (cost=0.00..1.04 rows=4 width=520) (actual time=0.002..0.003 rows=4 loops=1)