动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
电脑书籍下载:程序设计书籍 | 数据库教程书籍 | 平面与多媒体书籍 | 网络通讯书籍 | 系统管理书籍 | 网络安全书籍 | 认证考试书籍
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Oracle教程 ]的信息



本月文章推荐
.ActualTest Oracle 1Z0-007 v05..
.在Linux下安装VNC 远程安装Oracle.
.删除Oracle数据库10g垃圾表的最新.
.如何加快ORACLE本地OCI的调用速度.
.ORACLE在HP-UX下的系列问题处理(.
.如何判断一个字符串的内容是否是.
.常用的档案, 与它们的延伸名称, .
.利用角色增强应用系统安全性.
.合理设置数据库以提高查询统计速.
.[Oracle]减少临时表使用空间的几.
.如何为Oracle导出文件加上时间戳.
.分析Oracle数据库日志文件.
.RH9下最简单的WebMail的实现方案.
.在RedHat7.1上安装Oracle8.1.7的.
.Oracle诊断案例-Sql_trace之二.
.细化解析:Oracle 10g ASM 的一点.
.Oracle和SUN Solaris内核参数.
.Oracle数据库中fast刷新会受到哪.
.Oracle非法数据库对象引起的错误.
.Oracle8i LONG数据类型使用上的一.

Compress table 的内部存储细节研究

发表日期:2008-2-9 |



  SQL> create table test1(a varchar2(20),b varchar2(20),c varchar2(20)) compress; 
   
   
  SQL> select TABLESPACE_NAME ,EXTENT_ID ,blocks from dba_extents where segment_name = 'TEST1';
   
  TABLESPACE_NAME         EXTENT_ID   BLOCKS
  ------------------------------ ---------- ----------
  USERS                  0     8
   
  SQL> select file_id,block_id from dba_extents where segment_name = 'TEST1';
   
    FILE_ID  BLOCK_ID
  ---------- ----------
       11    769
   
  SQL> insert /*+ append */ into test1 select 'AAAAAAAAAAAAAAAAAAAA','BBBBBBBBBBBBBBBBBBBB','CCCCCCCCCCCCCCCCCCCC' from dba_objects where rownum < 1001;
   
  1000 rows created.
   
  SQL> commit;
   
  Commit complete.
   
  SQL> alter system dump datafile 11 block min 769 block max 771;
   
  System altered.
   
  trace 部分内容
   
   
  data_block_dump,data header at 0xadb4674
  ===============
  tsiz: 0x1f88
  hsiz: 0x5ce
  pbl: 0x0adb4674
  bdba: 0x02c00302
     76543210
  flag=-0------
  ntab=2
  nrow=724
  frre=-1
  fsbo=0x5ce
  fseo=0x1127
  avsp=0xd
  tosp=0xd
       r0_9ir2=0x0
       mec_kdbh9ir2=0x1
       r1_9ir2=0x0
            76543210
       flag_9ir2=-------C
           fcls_9ir2[4]={ 0 32768 32768 32768 }
  0x1e: pti[0]   nrow=1 offs=0
  0x22: pti[1]   nrow=723    offs=1
  0x26: pri[0]   offs=0x1f46
  0x28: pri[1]   offs=0x1f41
  0x2a: pri[2]   offs=0x1f3c
  0x2c: pri[3]   offs=0x1f37
   
  x5b6: pri[712] offs=0x115e
  0x5b8: pri[713] offs=0x1159
  0x5ba: pri[714] offs=0x1154
  0x5bc: pri[715] offs=0x114f
  0x5be: pri[716] offs=0x114a
  0x5c0: pri[717] offs=0x1145
  0x5c2: pri[718] offs=0x1140
  0x5c4: pri[719] offs=0x113b
  0x5c6: pri[720] offs=0x1136
  0x5c8: pri[721] offs=0x1131
  0x5ca: pri[722] offs=0x112c
  0x5cc: pri[723] offs=0x1127  总记录条数724条,每条消耗5字节存储
  block_row_dump:
  tab 0, row 0, @0x1f46
  tl: 66 fb: --H-FL-- lb: 0x0 cc: 3
  col 0: [20] 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41
  col 1: [20] 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42
  col 2: [20] 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43
  bindmp: 02 d3 03 dc 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 dc 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 dc 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43
   
  这部分为集中存储
   
  tab 1, row 0, @0x1f41
  tl: 5 fb: --H-FL-- lb: 0x0 cc: 3
  col 0: [20] 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41
  col 1: [20] 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42
  col 2: [20] 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43
  bindmp: 2c 00 01 03 00  这里的5个字节就是实际存储内容,03 表示压缩了3个字段,估计这里最后00表示指针指向第一个存储了完全数据的 ROW 0
  tab 1, row 1, @0x1f3c
  tl: 5 fb: --H-FL-- lb: 0x0 cc: 3
  col 0: [20] 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41
  col 1: [20] 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42
  col 2: [20] 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43
  bindmp: 2c 00 01 03 00
  tab 1, row 2, @0x1f37
  tl: 5 fb: --H-FL-- lb: 0x0 cc: 3
  col 0: [20] 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41
  col 1: [20] 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42
  col 2: [20] 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43
  bindmp: 2c 00 01 03 00
  tab 1, row 3, @0x1f32
  tl: 5 fb: --H-FL-- lb: 0x0 cc: 3
  col 0: [20] 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41
  col 1: [20] 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42
  col 2: [20] 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43
  bindmp: 2c 00 01 03 00
  tab 1, row 4, @0x1f2d
  tl: 5 fb: --H-FL-- lb: 0x0 cc: 3
  col 0: [20] 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41
  col 1: [20] 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42
  col 2: [20] 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43
  bindmp: 2c 00 01 03 00
  tab 1, row 5, @0x1f28
  tl: 5 fb: --H-FL-- lb: 0x0 cc: 3
  col 0: [20] 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41
  col 1: [20] 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42
  col 2: [20] 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43
  bindmp: 2c 00 01 03 00
  tab 1, row 6, @0x1f23
   
  SQL> truncate table test1;

   
  Table truncated.
   
  SQL> conn test/test
  Connected.
  SQL> insert /*+ append */ into test1 select rownum,'BBBBBBBBBBBBBBBBBBBB','CCCCCCCCCCCCCCCCCCCC' from dba_objects where rownum < 1001;
   
  1000 rows created.
   
  SQL> commit;
   
  Commit complete.
   
  SQL> alter system dump datafile 11 block min 769 block max 771;
   
  System altered.
   
   
  data_block_dump,data header at 0xadb4674
  ===============
  tsiz: 0x1f88
  hsiz: 0x5b2
  pbl: 0x0adb4674
  bdba: 0x02c00302
     76543210
  flag=-0------
  ntab=2
  nrow=709
  frre=-1
  fsbo=0x5b2
  fseo=0x6e3
  avsp=0xc5
  tosp=0xc5
       r0_9ir2=0x0
       mec_kdbh9ir2=0x1
       r1_9ir2=0x0
            76543210
       flag_9ir2=------OC
           fcls_9ir2[3]={ 0 32768 32768 }
           perm_9ir2[3]={ 2 0 1 } 这部分很要害,表示下面的实际存储字段顺序
           也就是说,后面物理存储的顺序COL2,COL0,COL1对应数据字典中列的顺序应该是col0,col1,col2 
  0x20: pti[0]   nrow=1 offs=0
  0x24: pti[1]   nrow=708    offs=1
  0x28: pri[0]   offs=0x1f5b
  0x2a: pri[1]   offs=0x1f54
  0x2c: pri[2]   offs=0x1f4d
  0x2e: pri[3]   offs=0x1f46
  0x30: pri[4]   offs=0x1f3f
  0x32: pri[5]   offs=0x1f38
  0x34: pri[6]   offs=0x1f31
  0x36: pri[7]   offs=0x1f2a
  0x38: pri[8]   offs=0x1f23
   
  x25c: pri[282] offs=0x1571
  0x25e: pri[283] offs=0x1568
  0x260: pri[284] offs=0x155f
  0x262: pri[285] offs=0x1556
  0x264: pri[286] offs=0x154d
  0x266: pri[287] offs=0x1544
  0x268: pri[288] offs=0x153b
  0x26a: pri[289] offs=0x1532
  0x26c: pri[290] offs=0x1529
  0x26e: pri[291] offs=0x1520
  0x270: pri[292] offs=0x1516
  block_row_dump:
  tab 0, row 0, @0x1f5b
  tl: 45 fb: --H-FL-- lb: 0x0 cc: 2
  col 0: [20] 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42
  col 1: [20] 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43
  bindmp: 01 24 02 dc 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 dc 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43
  tab 1, row 0, @0x1f52
  tl: 9 fb: --H-FL-- lb: 0x0 cc: 3
  col 0: [20] 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42
  col 1: [20] 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43
  col 2: [ 3] 37 30 39
  bindmp: 2c 00 02 02 00 cb 37 30 39
上一篇:Oraclei外部表(External Table)的使用 人气:413
下一篇:两种得出一个月有多少工作日的方法 人气:643
浏览全部Oracle教程的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-7-24 Sablog-X v2.0 预览版
2008-7-24 帝国备份王EmpireBak 2008 正式版
2008-7-24 网趣网上购物系统时尚版 v8.2
2008-7-24 纵横B2B电子商务系统XYECS!B2B v
2008-7-24 e路小说小偷 v1.2.0723
2008-7-24 凌风美女图片站程序 v2.2
2008-7-24 TOM15电影收索程序
2008-7-24 清风信息自动采集生成系统 v1.0
2008-7-24 QQ邮箱编辑器 v1.0 (小小菜刀ASP
2008-7-19 UltraEdit 简体中文增强版 14.10
2008-7-19 CentOS 5.2 i386 LiveCD
2008-7-19 Snapture多功能相机 v1.4
2008-7-19 iAcces中文输入法 v1.0Build016
2008-7-19 Cookbook烹饪秘籍 v2.5
2008-7-19 苹果专用DVD转换工具 v1.1.59汉化
2008-7-19 Modem修复软件ZiPhone修改版04.0
2008-7-19 AgileMessenger即时通讯工具美化
2008-7-19 Sketches画图软件 v0.7b6破解版


  发表评论
姓 名: 验证码:
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号