Given a table containing n rows and k bytes per row, can I estimate the size of a table in GB by finding (n x k)/(1024)^3?
For example, I have a table with 21,097,698 rows and the following columns:
ALWAMT NUMBER(11,2)
ALWUNT NUMBER
CLAIMNO VARCHAR2(22 BYTE)
DIAGN1 VARCHAR2(8 BYTE)
DIAGN2 VARCHAR2(8 BYTE)
DIAGN3 VARCHAR2(8 BYTE)
DIAGN4 VARCHAR2(8 BYTE)
MEMAGE NUMBER(20,0)
MEMBNO VARCHAR2(15 BYTE)
PARENT VARCHAR2(4 BYTE)
SEXCOD VARCHAR2(1 BYTE)
SVCDAT NUMBER(20,0)
NAMCOD VARCHAR2(50 BYTE)
NAMKEY VARCHAR2(30 BYTE)
DIAGNOSISCAT VARCHAR2(80 BYTE)
LOC_DESC VARCHAR2(40 BYTE)
SVCCOD_DESC VARCHAR2(50 BYTE)
ALWAMT_CATG VARCHAR2(20 BYTE)
The table does not contain an index nor is it partitioned.
The above formula yields a table size of 7.78 GB. Is this an accurate estimate (knowing it's an estimate of the maximum size since most fields will only be partially filled or may be null)?