There are a few options. Depending on Oracle version, you can get dynamic sampling. Also cardinality feedback can help after the initial executions. Otherwise the extensible optimizer ("associate statistics") is your best bet. Adrian Billington has an excellent article on the various options here: http://www.oracle-developer.net/display.php?id=427 -- //www.freelists.org/webpage/oracle-l