TimesTen_验证新增列后表大小变化

原创 2015年11月17日 21:26:42


不多说直接进行操作,验证在原表上增加列,表大小变化情况

--原表大小
Command> call ttsize('XULQ.XULQ_COUNTER');
< 883840690.000000 >
1 row found.
--842.8961658477783   --842M
--原表行数
Command> select count(*) from XULQ.XULQ_COUNTER;
< 4238689 >


--增加列
Command> ALTER TABLE XULQ.XULQ_COUNTER ADD  product_ID TT_BIGINT DEFAULT 0;


--变更后表大小
Command> call ttsize('XULQ.XULQ_COUNTER');
< 951662452.000000 >
1 row found.
--907.5760383605957    --907M比原来(842M)大了64M


--变更后表行数
Command> select count(*) from XULQ.XULQ_COUNTER;
< 4238689 >   --行数未发生变化。


--表结构
Command> DESC XULQ.XULQ_COUNTER;
create table XULQ.XULQ_COUNTER (
        COUNTER_ID     TT_BIGINT NOT NULL,
        KEY_ID         TT_BIGINT NOT NULL,
        ATTR_ID        TT_INTEGER NOT NULL,
        MIN_CYCLE_ID   TT_BIGINT NOT NULL,
        MAX_CYCLE_ID   TT_BIGINT NOT NULL,
        FREE_VOLUME    NUMBER(24,7),
        USAGE_VOLUME   NUMBER(24,7),
        OVER_VOLUME    NUMBER(24,7),
        TARIFF_PLAN_ID TT_INTEGER,
        CDR_END_TIME   TT_TIMESTAMP,
        SUBS_ID        TT_BIGINT NOT NULL,
        CHANGE_TIME    TT_TIMESTAMP,
        SYNC_FLAG      TT_TINYINT DEFAULT 1,
        ATTR_ADD_CODE  VARCHAR2(30 BYTE) INLINE DEFAULT '*',
        PRODUCT_OID    TT_BIGINT DEFAULT 0,
        PRODUCT_ID     TT_BIGINT DEFAULT 0);  --新增列


    create unique index XULQ.PK_XULQ_COUNTER on XULQ.XULQ_COUNTER
        (KEY_ID, COUNTER_ID);


--导出数据
ttBulkCp -o -s "|" "dsn=xulq;TTC_Timeout=0" XULQ.XULQ_COUNTER SUBSCRIBER.xulq_533_01_v.unl >/tmp/exp.XULQ_COUNTER.log


[ttacct@c4csbds15] /logds/bak> cat /tmp/exp.XULQ_COUNTER.log
4238689/4238689 rows copied


--新建测试表便于将数据导入
create table XULQ.XULQ_COUNTER_XULQ (
        COUNTER_ID     TT_BIGINT NOT NULL,
        KEY_ID         TT_BIGINT NOT NULL,
        ATTR_ID        TT_INTEGER NOT NULL,
        MIN_CYCLE_ID   TT_BIGINT NOT NULL,
        MAX_CYCLE_ID   TT_BIGINT NOT NULL,
        FREE_VOLUME    NUMBER(24,7),
        USAGE_VOLUME   NUMBER(24,7),
        OVER_VOLUME    NUMBER(24,7),
        TARIFF_PLAN_ID TT_INTEGER,
        CDR_END_TIME   TT_TIMESTAMP,
        SUBS_ID        TT_BIGINT NOT NULL,
        CHANGE_TIME    TT_TIMESTAMP,
        SYNC_FLAG      TT_TINYINT DEFAULT 1,
        ATTR_ADD_CODE  VARCHAR2(30 BYTE) INLINE DEFAULT '*',
        PRODUCT_OID    TT_BIGINT DEFAULT 0,
        PRODUCT_ID     TT_BIGINT DEFAULT 0);


    create unique index XULQ.PK_XULQ_COUNTER_XULQ on XULQ.XULQ_COUNTER_XULQ
        (KEY_ID, COUNTER_ID);


--导入数据
ttBulkCp -i -xp 10000 -s "|" "dsn=xulq;TTC_Timeout=0" XULQ.XULQ_COUNTER_XULQ  SUBSCRIBER.xulq_533_01_v.unl >/tmp/imp.XULQ_COUNTER.log
SUBSCRIBER.userinfo_533_01_v.unl:
    4238689 rows inserted
    4238689 rows total
    
--查询新建表行数
Command> select count(*) from XULQ.XULQ_COUNTER_XULQ;
< 4238689 >
1 row found.


--查询新建表大小
Command> call ttsize ('XULQ.XULQ_COUNTER_XULQ');
< 917751668.000000 >
1 row found.     


--此处虽然比增加加字段后(951662452)减小了33M,但仍然有31M的增长。由此可知增加列仍然会使表增加一定的大小。




接着验证在XULQ.XULQ_COUNTER_XULQ增加列
Command> call ttsize ('XULQ.XULQ_COUNTER_XULQ');
< 917751668.000000 >
1 row found.
Command> 
Command> select count(*) from XULQ.XULQ_COUNTER_XULQ;
< 4238689 >
1 row found.
Command> ALTER TABLE XULQ.XULQ_COUNTER_XULQ ADD  ATTR_ADD_ID VARCHAR2(30) DEFAULT '*';
Command> select count(*) from XULQ.XULQ_COUNTER_XULQ;
< 4238689 >
1 row found.
Command> call ttsize ('XULQ.XULQ_COUNTER_XULQ');
< 1121216566.00000 >   --比917751668增加了194M
1 row found.
--添加两列
Command> ALTER TABLE XULQ.XULQ_COUNTER_XULQ ADD  ATTR_ADD_ID1 VARCHAR2(30) DEFAULT '*';
Command> ALTER TABLE XULQ.XULQ_COUNTER_XULQ ADD  ATTR_ADD_ID2 VARCHAR2(30) DEFAULT '*';
Command> select count(*) from XULQ.XULQ_COUNTER_XULQ;
< 4238689 >
1 row found.
Command> call ttsize ('XULQ.XULQ_COUNTER_XULQ');
< 1528146362.00000 >   ---又增加了388M

1 row found.


由此,可见增加列,均会使表大小出现线性增长。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

TimesTen内存数据库评估和计算表大小及碎片

TimesTen内存数据库评估和计算表大小及碎片  在TimesTen内存数据库的规划阶段,我们需要评估内存数据库表占用内存空间的大小,以合理的规划内存数据库的大小和评估需要迁移到内存数据库...

TimesTen的操作系统,数据库和虚拟化软件支持列表

在My Oracle Support上查了一下最新的TimesTen版本 11.2.2.8.0的支持列表。支持的操作系统Apple Mac OS X (Intel) (64-bit) HP-UX I...

Table之CSS控制Table内外边框,颜色,大小,样式变化更简单

其实按照常理来说,现在的网站应该早已经抛弃什么表格了,现在肯定是DIV+CSS当道嘛!不过客户的网站在添加内容的时候始终不满意那些边框效果:要么没有,要么很粗。看得出来,这位客户是位完美主义者。 在...

UGUI如何让Text框大小随文字增加而变化

需求就是评论框的大小要随文字的内容的增大而变大 在UGUI里Text并不能智能的判断text长宽够不够盛放文字内容。由于公司只有我一个开发unity的所以无人交流在网上我也没发现有什么组件和插件...

VB6中控件窗体大小自动变化

  • 2015年09月09日 11:50
  • 15KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:TimesTen_验证新增列后表大小变化
举报原因:
原因补充:

(最多只允许输入30个字)