Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> size of an index-organised table
I need the above to know how to size the database for an application.
I know the size of the primary key, the row size and the number of
rows. I've used -
PCTFILL, primary key (pkey), urowid 10 + pkey, index pointer size,
block overhead size for cache and transaction layers and for data
block.
given the number of rows I calculate the number of blocks needed at
the leaf level using the block overhead and adding the urowid to the
row size -
rowperblk = int((blocksize - blockoverhead)*PCTFILL/(row size +
urowid))
this gives me the number of pointers needed at the higher levels of
the tree -
pointers = int(numberrows/rowperblock + 1)
and this gives me the number of layers above the leaf nodes -
layers = int(log(pointers)/log(pkeyperblock) + 1)
where
pkeyperblock = int((blocksize - blockoverhead)*PCTFILL/(pkey +
urowid))
I can now work out a size using various assumptions about the degree of fill of the index and leaf blocks as rows are added and deleted.
I've not seen anything on working out the size of index-organised tables, and wonder if I'm on the right track here.
thanks, Eric Received on Mon Mar 17 2003 - 17:31:55 CST
![]() |
![]() |