Returning about 10% of the table - but what is the cluster factor on the index? The CBO might well assess that you'll read fewer total blocks via FTS. I *thought* that was already explained in this thread. If the cluster factor is lousy, the CBO figures the block read via that index to fetch the next row will have to be largely random and therefore you might have to fetch it again if ever the index points you back at a block you've read before to fetch a row. That's on top of the drilling down to the particular rowid you need from the index. I didn't catch whether your stats gathering was cascaded to do the index or not. If using the index plan beats the fts, then it probably has a good actual cluster factor and a stale bad cluster factor in the stats. Or you could be hitting the algorithm gaps JL mentioned. Oh - and I'm not biased. DAMN GOOD BOOK. Even as some of the specifics age, the concepts remain first quality and will stand the test of time. -----Original Message----- From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Christopher.Taylor2@xxxxxxxxxxxx Sent: Thursday, October 11, 2012 2:32 PM To: Christopher.Taylor2@xxxxxxxxxxxx; jonathan@xxxxxxxxxxxxxxxxxx; niall.litchfield@xxxxxxxxx Cc: oracle-l@xxxxxxxxxxxxx Subject: RE: Need some 10053 Guidance to help me solve a puzzler Further info on table size: Query Result Set = 197,188 rows Table Size: 18,272,128 Rows 5958.75MB (~6GB) 23835 Extents Returning 10.791% of the table. Chris -----Original Message----- From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Christopher.Taylor2@xxxxxxxxxxxx Sent: Thursday, October 11, 2012 1:15 PM To: jonathan@xxxxxxxxxxxxxxxxxx; oracle-l@xxxxxxxxxxxxx Subject: RE: Need some 10053 Guidance to help me solve a puzzler 1.) Quote: -- Okay, bit of a coincidence on the costing, then, but -- what's the block size -- what do the system stats look like db_block_size=8192 system stats: SYSSTATS_MAIN CPUSPEEDNW 1878.73888439774 SYSSTATS_MAIN IOSEEKTIM 10 SYSSTATS_MAIN IOTFRSPEED 4096 SYSSTATS_MAIN SREADTIM 1.562 SYSSTATS_MAIN MREADTIM 26.342 SYSSTATS_MAIN CPUSPEED 3003 SYSSTATS_MAIN MBRC 871 SYSSTATS_MAIN MAXTHR 287382528 SYSSTATS_MAIN SLAVETHR 29696 (see anything here that bears on this issue?) 2.) Quote: --should have been more like "the bit of the table needed by the indexed access path is nearly completely cached" Okay that would make sense. 3.) Quote: -- Oracle thinks that the data you want is all over the place and will require a very large number of random reads -- it's possible that the data you want is actually all packed into a fairly small part of the table That also makes sense. 4.) Quote: -- How big is the table really, how big is the cache. My comment was that the table was largely UNcached. Table Size: 5958.75MB (~6GB) 23835 Extents Cache: Buffer Cache: 24,832 MB (~24GB) 5.) Quote -- There's a very good book about this called "Cost Based Oracle - Fundamentals" (I wrote it, so I am biased, though). I have your book :-p (Reading about something is a lot different than getting to get your hands onto it and really understanding it!) Chris -- //www.freelists.org/webpage/oracle-l -- //www.freelists.org/webpage/oracle-l -- //www.freelists.org/webpage/oracle-l