number占用的空间


SQL> create table t (a number, y number);

表已创建。

SQL> insert into t (a) select to_number(rpad('9', rownum*2, '
  2  from all_objects where rownum <= 14;

已创建14行。


SQL> update t set y = a + 1;

已更新14行。

SQL> select a, y ,vsize(a) v1, vsize(y) v2 from t order by a;


                             A                              Y  V1  V2
------------------------------ ------------------------------ --- ---
                            99                            100   2   2
                          9999                          10000   3   2
                        999999                        1000000   4   2
                      99999999                      100000000   5   2
                    9999999999                    10000000000   6   2
                  999999999999                  1000000000000   7   2
                99999999999999                100000000000000   8   2
              9999999999999999              10000000000000000   9   2
            999999999999999999            1000000000000000000  10   2
          99999999999999999999          100000000000000000000  11   2
        9999999999999999999999        10000000000000000000000  12   2

                             A                              Y  V1  V2
------------------------------ ------------------------------ --- ---
      999999999999999999999999      1000000000000000000000000  13   2
    99999999999999999999999999    100000000000000000000000000  14   2
  9999999999999999999999999999  10000000000000000000000000000  15   2
  
可以发现,Y始终占2个字节,A每增加2位有效数字就增加1个字节。number类型存储的是有效数字和小数点的位置,所以有效数字越多占用的空间越大。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25361369/viewspace-711084/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/25361369/viewspace-711084/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值