Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Bytes per record?

Re: Bytes per record?

From: Ian Roberts <ROBERTSI_at_email.msn.com>
Date: Thu, 14 May 1998 21:43:58 +0100
Message-ID: <#67WXi3f9GA.106@upnetnews03>

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 ) +5
FROM 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

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US