explain.depesz.com

PostgreSQL's explain analyze made readable

Result: tAz

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

Result (cost=1.51..35.30 rows=1 width=1,156) (actual rows= loops=)

  • One-Time Filter: (((current_database())::information_schema.sql_identifier)::text = 'number_ordering'::text)
2. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=1.51..35.30 rows=1 width=1,156) (actual rows= loops=)

3. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.24..29.17 rows=1 width=1,521) (actual rows= loops=)

4. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=1.11..29.01 rows=1 width=1,461) (actual rows= loops=)

5. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=0.96..28.82 rows=1 width=1,429) (actual rows= loops=)

  • Join Filter: (t.typtype = 'd'::"char")
6. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.55..28.32 rows=1 width=1,295) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.28..28.01 rows=1 width=439) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.00..23.17 rows=1 width=137) (actual rows= loops=)

  • Join Filter: (c.relnamespace = nc.oid)
9. 0.000 0.000 ↓ 0.0

Seq Scan on pg_class c (cost=0.00..22.06 rows=1 width=77) (actual rows= loops=)

  • Filter: ((relkind = ANY ('{r,v,f}'::""char""[])) AND (((relname)::information_schema.sql_identifier)::text = 'somos_replenisher_search_cache'::text))
10. 0.000 0.000 ↓ 0.0

Seq Scan on pg_namespace nc (cost=0.00..1.10 rows=1 width=68) (actual rows= loops=)

  • Filter: ((NOT pg_is_other_temp_schema(oid)) AND (((nspname)::information_schema.sql_identifier)::text = 'public'::text))
11. 0.000 0.000 ↓ 0.0

Index Scan using pg_attribute_relid_attnum_index on pg_attribute a (cost=0.28..4.81 rows=3 width=306) (actual rows= loops=)

  • Index Cond: ((attrelid = c.oid) AND (attnum > 0))
  • Filter: ((NOT attisdropped) AND (pg_has_role(c.relowner, 'USAGE'::text) OR has_column_privilege(c.oid, attnum, 'SELECT, INSERT, UPDATE, REFERENCES'::text)))
12. 0.000 0.000 ↓ 0.0

Index Scan using pg_type_oid_index on pg_type t (cost=0.27..0.30 rows=1 width=860) (actual rows= loops=)

  • Index Cond: (oid = a.atttypid)
13. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.41..0.49 rows=1 width=138) (actual rows= loops=)

14. 0.000 0.000 ↓ 0.0

Index Scan using pg_type_oid_index on pg_type bt (cost=0.27..0.32 rows=1 width=78) (actual rows= loops=)

  • Index Cond: (t.typbasetype = oid)
15. 0.000 0.000 ↓ 0.0

Index Scan using pg_namespace_oid_index on pg_namespace nbt (cost=0.13..0.16 rows=1 width=68) (actual rows= loops=)

  • Index Cond: (oid = bt.typnamespace)
16. 0.000 0.000 ↓ 0.0

Index Scan using pg_attrdef_adrelid_adnum_index on pg_attrdef ad (cost=0.15..0.17 rows=1 width=38) (actual rows= loops=)

  • Index Cond: ((a.attrelid = adrelid) AND (a.attnum = adnum))
17. 0.000 0.000 ↓ 0.0

Index Scan using pg_namespace_oid_index on pg_namespace nt (cost=0.13..0.16 rows=1 width=68) (actual rows= loops=)

  • Index Cond: (oid = t.typnamespace)
18. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.27..0.74 rows=1 width=132) (actual rows= loops=)

19. 0.000 0.000 ↓ 0.0

Index Scan using pg_collation_oid_index on pg_collation co (cost=0.13..0.15 rows=1 width=72) (actual rows= loops=)

  • Index Cond: (a.attcollation = oid)
20. 0.000 0.000 ↓ 0.0

Index Scan using pg_namespace_oid_index on pg_namespace nco (cost=0.13..0.58 rows=1 width=68) (actual rows= loops=)

  • Index Cond: (oid = co.collnamespace)
  • Filter: ((nspname <> 'pg_catalog'::name) OR (co.collname <> 'default'::name))