ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 数据类型的存储方式

数据类型的存储方式

原创 Linux操作系统 作者:sswgej 时间:2009-02-05 16:24:16 0 删除 编辑

数据类型的存储方式

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/,如需转载,请注明出处,否则将追究法律责任。

上一篇: checkpoint(zt)
请登录后发表评论 登录
全部评论

注册时间:2008-07-28

  • 博文量
    62
  • 访问量
    71781