Andrew Gierth <andrew@xxxxxxxxxxxxxxxxxxxx> writes: > "Tom" == Tom Lane <tgl@xxxxxxxxxxxxx> writes: > Tom> Two I'd particularly draw your attention to are > Tom> join_collapse_limit and from_collapse_limit --- if you set both to > Tom> 1, that'll effectively disable searching for a good join order, > Tom> causing the join order to match the syntactic structure of the > Tom> FROM clause. For instance "FROM a,b,c" will always be done by > Tom> joining a to b first > FROM a,b,c can always be planned in any join order. Ah, right, -ENOCAFFEINE. What from_collapse_limit really does is prevent flattening sub-SELECTs when doing so would add more join-order freedom in the parent query. But ignoring sub-SELECTs, using explicit JOIN syntax with join_collapse_limit=1 will let you control the join order. regards, tom lane