此处基于oracle11g数据库,数据库字符集为ZHS16GBK,利用XG_YQ_JKDJXX、XG_YQ_JKDJXX_TEMP和CMN_XSXX三张表。XG_YQ_JKDJXX定义了18个字段,XG_YQ_JKDJXX_TEMP与XG_YQ_JKDJXX结构基本相同,少一个字段,CMN_XSXX表定义了43个字段。
表结构信息:
一、未清空XG_YQ_JKDJXX和XG_YQ_JKDJXX_TEMP表数据导出数据库
1、导出数据库
2、查看导出文件大小
二、清空XG_YQ_JKDJXX和XG_YQ_JKDJXX_TEMP表数据后导出数据库
1、导出数据库
2、查看导出文件大小
三、验证结果
清空XG_YQ_JKDJXX和XG_YQ_JKDJXX_TEMP表数据后释放的空间大小:342.6MB+876.1kB(0.85556640625MB) = 343.45556640625MB
未清空数据前和清空XG_YQ_JKDJXX和XG_YQ_JKDJXX_TEMP表数据后导出的转储文件所占空间大小差值:
以MB为单位计算:922MB-579MB=343MB
以字节(B)为单位计算:967675904字节-607485952字节=360189952字节=343.50390625MB
可以看到,前后值是相符的。
四、分析每条记录占用存储大小
1、XG_YQ_JKDJXX表,每条记录平均占用存储大小
342.6MB/1922690=0.1824643598291976KB
2、XG_YQ_JKDJXX_TEMP表,每条记录平均占用存储大小
876.1KB/5237=0.1672904334542677KB
3、CMN_XSXX表,每条记录平均占用存储大小
9.470MB/34254=0.2830992000934197KB
五、有关数据库表数据量与占用存储大小的推论
1、相同数据量且存在中文字符的情况下,不同的数据库字符集可能影响所占用的存储大小。
2、表字段的数量与占用存储大小成正比。
3、表中数据量与占用存储大小成正比。
4、不同的字段类型影响表数据所占用的存储大小。