Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: how to place a table in memory
> >>
> >> Then if the table is actually accessed constantly, it should be
have
> > enough
> >> life left in the cache to be re-read from memory (although
admittedly
> > with
> >> 8i/9i at least, the touch count algorithm is prejudiced against
> > cached
> >> tables)
> >>
> >
> > Richard,
> >
> > Can you please explain what 'constantly' is? Like once 15 seconds?
> >
>
> I used the term "constantly" in response to Chuck's use of the term.
However
> of course, it's all rather vague and subjective what actually
constitutes a
> constantly used table (perhaps, it should be used in an OCP question
;)
>
> I guess my implied interpretation is that if a table is accessed
before the
> associated blocks are aged out of memory (remembering that truly
small
> tables are not simply placed at the "far" cold end of the LRU list),
then
> it's accessed "constantly" enough (just as are all index read
blocks).
>
> Whether or not it's 15 seconds or whatever time, is of course
dependent on
> the size of the cache and the associated load on the system at the
time, and
> by implication, how well tuned the buffer cache is/are.
>
> I guess what I'm suggesting is that if a table is truly small and
truly
> accessed frequently, then it may not be continually being read from
disk.
>
>
Thanks for the explanation. I think touch count algorithm was in ver 8 itself (although Oracle came public about it in 8i only, according to Gaja's book). In any case it is in 8i atleast. I have some idea on how it works, but did not know how it handled small tables.
The other poster (bdbafh) says he did fix some problem by setting 'such a table for keep pool'. Maybe there is some special case that I thought might learn new, if it was in 8i/9i. Perhaps bdbafh will come forward and give us the details (maybe older version of Oracle when LRU algorithm was used?)
Thanks,
Ram.
Received on Fri Feb 11 2005 - 13:12:10 CST