> SELECT * FROM huge_table h, tiny_table t WHERE UPPER( h.id ) =
> UPPER( t.id )
What about :
SELECT * FROM huge_table h WHERE UPPER(id) IN (SELECT upper(id) FROM
tiny_table t)
Or, try opening a cursor on your original query and using FETCH. It might
result in a different plan.
Or lower random_page_cost.