explain.depesz.com

PostgreSQL's explain analyze made readable

Result: ynkS

Settings
# exclusive inclusive rows x rows loops node
1. 44.392 444.641 ↓ 23.3 93,003 1

Nested Loop Left Join (cost=21.36..11,763.78 rows=3,998 width=495) (actual time=36.960..444.641 rows=93,003 loops=1)

2. 51.849 307.246 ↓ 23.3 93,003 1

Nested Loop Left Join (cost=21.07..10,334.94 rows=3,998 width=274) (actual time=36.936..307.246 rows=93,003 loops=1)

3. 126.170 162.394 ↓ 23.3 93,003 1

Hash Right Join (cost=20.65..8,458.14 rows=3,998 width=242) (actual time=36.910..162.394 rows=93,003 loops=1)

  • Hash Cond: (oxip.roleid = r.id)
  • Filter: (((p.moduleid = 2) AND (p.permission = 1) AND (p.ipid = 5011)) OR (oxip.ipid = 5011))
  • Rows Removed by Filter: 645027
4. 36.123 36.123 ↑ 1.0 332,028 1

Seq Scan on object_x_ip oxip (cost=0.00..6,424.75 rows=332,075 width=45) (actual time=0.009..36.123 rows=332,028 loops=1)

5. 0.026 0.101 ↓ 1.5 76 1

Hash (cost=20.00..20.00 rows=52 width=197) (actual time=0.101..0.101 rows=76 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 21kB
6. 0.031 0.075 ↓ 1.5 76 1

Hash Right Join (cost=2.17..20.00 rows=52 width=197) (actual time=0.053..0.075 rows=76 loops=1)

  • Hash Cond: (r.id = p.roleid)
7. 0.012 0.012 ↑ 13.2 34 1

Seq Scan on object_role r (cost=0.00..14.50 rows=450 width=153) (actual time=0.010..0.012 rows=34 loops=1)

8. 0.013 0.032 ↓ 1.5 76 1

Hash (cost=1.52..1.52 rows=52 width=44) (actual time=0.032..0.032 rows=76 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 14kB
9. 0.019 0.019 ↓ 1.5 76 1

Seq Scan on acl_permissions p (cost=0.00..1.52 rows=52 width=44) (actual time=0.015..0.019 rows=76 loops=1)

10. 93.003 93.003 ↑ 1.0 1 93,003

Index Scan using idx_f7ac4b60238fb56d on glossary_x_objectxip moxip (cost=0.42..0.46 rows=1 width=32) (actual time=0.001..0.001 rows=1 loops=93,003)

  • Index Cond: (objectxipid = oxip.id)
11. 93.003 93.003 ↑ 1.0 1 93,003

Index Scan using glossary_pkey on glossary m (cost=0.29..0.36 rows=1 width=221) (actual time=0.001..0.001 rows=1 loops=93,003)

  • Index Cond: (id = moxip.glossaryid)