数据类型的存储方式

数据类型的存储方式

SQL> select rowid,a from test;

ROWID                       A
------------------ ----------
AAAMitAABAAAO+qAAA          1
SQL> select object_id from dba_objects where object_name='TEST';

 OBJECT_ID
----------
     51373

SQL>  select segment_name,file_id,block_id from dba_extents where segment_name='TEST';

SEGMENT_NAME
--------------------------------------------------------------------------------
   FILE_ID   BLOCK_ID
---------- ----------
TEST
         1      61353

索引列号,长度,值。其中6个字节的为ROWID号,将其转换为二进制,算法结果为:

10 bit代表了file_id
22 bit代表了block_id
16 bit代表了row_id

00 40 ef aa 00 00转换成2进制为

000000000100000011101111101010100000000000000000

取中间22bit转换十进制为block_id 61354.即指向test存放的block_id.

0000001110111110101010=61354

c102=193,2=1

row#0[8020] flag: ------, lock: 2, len=12
col 0; len 2; (2):  c1 02
col 1; len 6; (6):  00 40 ef aa 00 00

index

SQL> select dump(a),a from test;

DUMP(A)
--------------------------------------------------------------------------------
         A
----------
Typ=2 Len=2: 193,2
         1

SQL> select ename,dump(ename,17) "dump" from emp;

ENAME      dump
---------- --------------------------------------------------------------------------------
SMITH      Typ=1 Len=5: S,M,I,T,H
ALLEN      Typ=1 Len=5: A,L,L,E,N
WARD       Typ=1 Len=4: W,A,R,D
JONES      Typ=1 Len=5: J,O,N,E,S
MARTIN     Typ=1 Len=6: M,A,R,T,I,N
BLAKE      Typ=1 Len=5: B,L,A,K,E
CLARK      Typ=1 Len=5: C,L,A,R,K
SCOTT      Typ=1 Len=5: S,C,O,T,T
KING       Typ=1 Len=4: K,I,N,G
TURNER     Typ=1 Len=6: T,U,R,N,E,R
ADAMS      Typ=1 Len=5: A,D,A,M,S
JAMES      Typ=1 Len=5: J,A,M,E,S
FORD       Typ=1 Len=4: F,O,R,D
MILLER     Typ=1 Len=6: M,I,L,L,E,R


 

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

转载于:http://blog.itpub.net/7301064/viewspace-545371/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值