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


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

--原表大小
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.


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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值