Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Myth revisited ...
"Noons" <wizofoz2k_at_yahoo.com.au.nospam> wrote in message news:<3fb8d18a$0$13984$afc38c87_at_news.optusnet.com.au>...
> "Richard Foote" <richard.foote_at_bigpond.com> wrote in message news:9u3ub.14700$aT.6285_at_news-server.bigpond.net.au...
> >
> > The vast majority of Oracle databases sit on top of O/S file systems and
> > file systems use buffered I/O (unless direct I/O is set). Therefore,
> > although having large block sizes for indexes sounds like a great idea in
> > principle, in practice it will actually *hurt* performance. The correct,
> > optimal block size for these environments is the I/O buffer size. Setting
> > the block size any larger, say twice the I/O buffer size (eg. 8K on AIX)
> > would result in every logical I/O on the index requiring two O/S calls.
> > Having double (or more) O/S calls per logical read on your indexes is going
> > to have a detrimental effect, even if such larger blocks succeed in reducing
> > the index's overall height.
>
> Whoa boss! Are you telling me Oracle will divide the block size by the
> file system block size and issue multiple calls?
>
Hi Nuno,
No !!!
Re-reading my post, I'm certainly not particularly clear. I meant the OS performs two I/O calls, not Oracle !!
Although small on it's own, it's a preventable overhead per *every* I/O request that will likely cancel out any benefits and cause scalability issues in the long run.
Cheers
Richard Received on Mon Nov 17 2003 - 19:03:56 CST