explain.depesz.com

PostgreSQL's explain analyze made readable

Result: kCJH

Settings
# exclusive inclusive rows x rows loops node
1. 0.069 4,225.930 ↑ 1.0 800 1

Limit (cost=2.55..4,320.94 rows=800 width=114) (actual time=0.082..4,225.930 rows=800 loops=1)

2. 123.643 4,225.861 ↑ 152.3 800 1

Nested Loop Left Join (cost=2.55..657,713.77 rows=121,844 width=114) (actual time=0.082..4,225.861 rows=800 loops=1)

  • Filter: (SubPlan 1)
  • Rows Removed by Filter: 232756
3. 0.000 365.322 ↑ 1.0 233,556 1

Nested Loop Left Join (cost=0.56..161,197.43 rows=243,689 width=95) (actual time=0.027..365.322 rows=233,556 loops=1)

4. 135.312 135.312 ↑ 1.0 233,556 1

Index Scan using bo_instance_pkey on bo_instance i (cost=0.42..122,242.02 rows=243,689 width=86) (actual time=0.022..135.312 rows=233,556 loops=1)

  • Filter: (NOT is_deleted)
  • Rows Removed by Filter: 63
5. 233.556 233.556 ↑ 1.0 1 233,556

Index Scan using bo_class_pkey on bo_class boc (cost=0.14..0.16 rows=1 width=17) (actual time=0.001..0.001 rows=1 loops=233,556)

  • Index Cond: (id = i.bo_class_id)
6. 233.556 3,736.896 ↑ 1.0 1 233,556

Aggregate (cost=1.99..2.00 rows=1 width=32) (actual time=0.016..0.016 rows=1 loops=233,556)

7. 3,503.340 3,503.340 ↓ 0.0 0 233,556

Seq Scan on tag t (cost=0.00..1.99 rows=1 width=9) (actual time=0.015..0.015 rows=0 loops=233,556)

  • Filter: ((NOT is_deleted) AND (i.tags @> ARRAY[id]))
  • Rows Removed by Filter: 79
8.          

SubPlan (forNested Loop Left Join)

9. 0.000 0.000 ↓ 0.0 0 233,556

Function Scan on json_array_elements_text el (cost=0.00..1.00 rows=100 width=0) (actual time=0.000..0.000 rows=0 loops=233,556)