It sounds a cute idea at first sight (pardon the mixed
metaphor) - but then what do you do about the situation
where you deliberately have a handful of versions of
the 'same' SQL which are identified by the presence of
a literal string; or the SQL that you build with one
literal and many binds because that one literal is
required to make sure that Oracle uses a histogram
on one column ?
Then there's the problem of literals which are
textually constant but variable valued such as:
sys_context('hr_hierarchy','manager');
Marginal proliferation of 'semi-literate' <joke> SQL
can be a good thing. Maybe yet another undocumented
hint /*+ bypass_cache_flush */ would be sufficient.
One (trivial ?) thing I'd like to see is SQL normalised
before it goes into the shared pool. Oracle 9i does it
with stored_outlines - why not with all SQL ?
Jonathan Lewis
http://www.jlcomp.demon.co.uk
Author of:
Practical Oracle 8i: Building Efficient Databases
Next Seminar - Australia - July/August
http://www.jlcomp.demon.co.uk/seminar.html
Host to The Co-Operative Oracle Users' FAQ
http://www.jlcomp.demon.co.uk/faq/ind_faq.html
-----Original Message-----
To: Multiple recipients of list ORACLE-L <[EMAIL PROTECTED]>
Date: 25 April 2002 05:00
I think an excellent Oracle kernel enhancement would be to bias in the
LRU scheme against SQL that uses literals, just like the buffer cache
algorithm biases against blocks that are read via full-table scan.
Think
about it... What's the likelihood that a SQL statement that's filthy
with literal values will ever be reused again in the future? Then why
store it as if it will ever be shared (i.e., reused) in the future?
Cary Millsap
Hotsos Enterprises, Ltd.
[EMAIL PROTECTED]
http://www.hotsos.com
--
Please see the official ORACLE-L FAQ: http://www.orafaq.com
--
Author: Jonathan Lewis
INET: [EMAIL PROTECTED]
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: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from). You may
also send the HELP command for other information (like subscribing).