Thanks Mark, No - there are no session parameters set. Although there is a histogram on the FBI's hidden column we get the same discrepency if we set the same bind values as the JDBC batch job (or indeed, ANY, values). One thing I spotted was in the child cursor created by the JDBC batch job, the column TOP_LEVEL_RPI_CURSOR was set to 'Y' (V$SQL_SHARED_CURSOR); this was the only difference between the FTS-using cursor #1 (JDBC job) and index-using cursor #0 created in SQL*Plus. Unfortunately I wasn't able to find out much about what "TOP_LEVEL_RPI_CURSOR" meant or even if this was relevant. I have now side-stepped the problem by using a stored outline although I'd still be interesting to know what's going on. Thanks Charlotte -----Original Message----- From: "Powell, Mark D" <mark.powell@xxxxxxx> To: <oracle-l@xxxxxxxxxxxxx> Date: Mon, 13 Mar 2006 13:51:41 -0500 Does the job set any session parameters that could be interfering? Have you verified that no outline exists that could be interfering? What about bind variable peeking? Are there histograms on this column? Is the data in sv_type column skewed? HTH -- Mark D Powell -- __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com -- //www.freelists.org/webpage/oracle-l