Ignoring the details - the answer to your basic question is: You're not supposed to use first_rows - it's an outdated heuristically driven mechanism. If you want to make rationale tests and not confuse yourself you should use first_rows_N where N is one of the limited set of legal values including 10. Your "all_rows" test actually ran as first_rows_10. Regards Jonathan Lewis http://jonathanlewis.wordpress.com Oracle Core (Apress 2011) http://www.apress.com/9781430239543 ----- Original Message ----- From: "Simon Palmer" <si_g_palmer@xxxxxxxxx> To: <oracle-l@xxxxxxxxxxxxx> Sent: Friday, January 27, 2012 4:10 PM Subject: Optimizer Mode Hello, Just been doing some SPA work, just setting up and testing against some Swingbench SQLs. Did a trial of adjusting the optimizer_mode from ALL_ROWS to FIRST_ROWS. -- //www.freelists.org/webpage/oracle-l