Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Mailing Lists -> Oracle-L -> Full Table Scan and TKPROF Output
My theory...We are running J.D. Edwards OneWorld. OneWorld allows the CNC
(code word for OneWorld admin) to configure a number of job queues that
check a table (the F986110) for new jobs that need to be processed. Each of
these processes and occasionally a few more update, delete and select from
this table almost constantly. The SQL being executed against the table uses
a "WHERE" clause on 5 columns which are indexed but the selectivity is
really bad, only 5 distinct values out of 100+ thousand records, so it does
a full table scan. A few months ago I cached the table. At the moment the
table is 100 MB and only has 30 MB of data. I will reorg it the next time
we get some down time. The trouble is that I experience a lot of buffer
busy waits on these processes. Also when I ran SQLTRACE it showed an almost
unbelievable number of buffers read in consistent mode, way! way! larger
than the size of the table. The CPU associated with these processes runs
around 10% each so we are at 50% CPU even when the system is dead. Luckily
they seem to take a low priority and the % CPU drops when the job kicks off,
this may be because the queue is waiting on the job. My guess why CPU is
10% is that the CPU is reading all the blocks in memory a bazillion times.
I can't find anything about this on the J.D. Edwards Knowledge Garden. By
the way CPU time is really high also.
This is a huge performance problem for OneWorld. My proposed official "duct tape" solution is to make the table much smaller by moving the records into another table after they are more than N days old. At the moment we clean up after 90 days but I think there would be a terrific gain if we reduce it to 7 days or so, (some of this is for the benefit of folks on the JDELIST, sorry I'm gonna cross-post).
Am I missing anything? Are there any other solutions to this dilemma?
Thanks,
Ethan Post
-- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: Post, Ethan INET: epost_at_kcc.com Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 San Diego, California -- Public Internet access / Mailing Lists -------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-LReceived on Thu Jun 07 2001 - 18:18:23 CDT
(or the name of mailing list you want to be removed from). You may
also send the HELP command for other information (like subscribing).