Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Bytes per record?
You can work out the average size of a row in your current table as follows
SELECT AVG ( (NVL(VSIZE(your_column_1),0)+1)
+ (NVL(VSIZE(your_column_2),0)+1) + (NVL(VSIZE(your_column_3),0)+1) etc for all columns in your table ) +5FROM your_table_name;
The size of your row is only half the story though, as your blocksize and PCTFREE will effect your table size. Calculate the table size as follows :
size (in bytes) = blocksize *
( No. of Rows {i.e. 8 million} * Avg Row Length {from above} ) / ( (blocksize - 90) * (1 - PCTFREE/100 ) )
Hope this helps
-----Original Message-----
From: Ian
Newsgroups: comp.databases.oracle.server
Date: 07 May 1998 10:57
Subject: Bytes per record?
>Hi
>
>I hope you can help me with this.
>How do you work out the bytes one record will take up?
>
>I can work out using the number of bytes for the segment, the number of
>extents and the number of rows but this is surely not an accurate figure.
>
>The reason is that we have a 1.5million record table that is using 555Mb,
>but it is about to be extented to 8million records, I need to work out the
>size of the next extents since the maximum is the operating system default
>of 121, and the current number of extents is 10.
>
>If you could email the reply i would appreciate it
>
>Thanks in advance
>
>Ian
Received on Thu May 14 1998 - 15:43:58 CDT