oscon=> explain select relname,nspname from pg_class
oscon-> left join pg_namespace on (pg_class.relnamespace = pg_namespace.oid);
QUERY PLAN
---------------------------------------------------------------
Hash Join (C=1.05..7.46 R=124 W=136)
Hash Cond: ("outer".relnamespace = "inner".oid)
-> Seq Scan on pg_class (C=0.00..4.24 R=124 W=68)
-> Hash (C=1.04..1.04 R=4 W=68)
-> Seq Scan on pg_namespace (C=0.00..1.04 R=4 W=68)
oscon=> set enable_hashjoin = false;
SET
oscon=> explain select relname,nspname from pg_class
oscon-> left join pg_namespace on (pg_class.relnamespace = pg_namespace.oid);
QUERY PLAN
---------------------------------------------------------------
Merge Join (C=9.63..11.82 R=124 W=136)
Merge Cond: ("outer".relnamespace = "inner".oid)
-> Sort (C=8.55..8.86 R=124 W=68)
Sort Key: pg_class.relnamespace
-> Seq Scan on pg_class (C=0.00..4.24 R=124 W=68)
-> Sort (C=1.08..1.09 R=4 W=68)
Sort Key: pg_namespace.oid
-> Seq Scan on pg_namespace (C=0.00..1.04 R=4 W=68)
oscon=> set enable_mergejoin = false;
SET
oscon=> explain select relname,nspname from pg_class
oscon-> left join pg_namespace on (pg_class.relnamespace = pg_namespace.oid);
QUERY PLAN
---------------------------------------------------------
Nested Loop (C=0.00..139.40 R=124 W=136)
Join Filter: ("outer".relnamespace = "inner".oid)
-> Seq Scan on pg_class (C=0.00..4.24 R=124 W=68)
-> Seq Scan on pg_namespace (C=0.00..1.04 R=4 W=68)
oscon=> set enable_nestloop = false;
SET
oscon=> explain select relname,nspname from pg_class
oscon-> left join pg_namespace on (pg_class.relnamespace = pg_namespace.oid);
QUERY PLAN
---------------------------------------------------------
Nested Loop (C=100000000.00..100000139.40 R=124 W=136)
Join Filter: ("outer".relnamespace = "inner".oid)
-> Seq Scan on pg_class (C=0.00..4.24 R=124 W=68)
-> Seq Scan on pg_namespace (C=0.00..1.04 R=4 W=68)
Previous: Forcing a plan [Table of Contents] Next: Functions