转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/32715157 BASE的计算方法为: gyj@ZMDB select * from v$type_size where component in (KCB,KTB);COMPONEN TYPE DESCRIPTION TYPE_SIZE-------- -------- --------------------------------

转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/32715157

BASE的计算方法为:

gyj@ZMDB> select * from v$type_size where component in ('KCB','KTB');

COMPONEN TYPE DESCRIPTION TYPE_SIZE

-------- -------- -------------------------------- ----------

KCB KCBH BLOCK COMMON HEADER 20

KTB KTBIT TRANSACTION VARIABLE HEADER 24

KTB KTBBH TRANSACTION FIXED HEADER 48

KTB KTBBH_BS TRANSACTION BLOCK BITMAP SEGMENT 8

1、我们先对ASSM做测试

yj@ZMDB> select * from v$version;

BANNER

--------------------------------------------------------------------------------

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

gyj@ZMDB> create tablespace assm datafile '/u01/app/oracle/oradata/zmdb/assm01.dbf' size 50M;

Tablespace created.

gyj@ZMDB> create table gyj_t5(id int,name varchar2(100)) tablespace assm;

Table created.

gyj@ZMDB> insert into gyj_t5 values(1,'AAAAA');

1 row created.

gyj@ZMDB> insert into gyj_t5 values(2,'BBBBB');

1 row created.

gyj@ZMDB> insert into gyj_t5 values(3,'CCCCC');

1 row created.

gyj@ZMDB> COMMIT;

Commit complete.

gyj@ZMDB> alter system flush buffer_cache;

System altered.

gyj@ZMDB> select dbms_rowid.rowid_relative_fno(rowid) file#,dbms_rowid.rowid_block_number(rowid) block#,id,name from gyj_t5;

FILE# BLOCK# ID NAME

---------- ---------- ---------- ----------

10 135 1 AAAAA

10 135 2 BBBBB

10 135 3 CCCCC

BBED> set file 10 block 135

FILE# 10

BLOCK# 135

BBED> p kdbr[0]

sb2 kdbr[0] @118 8076

BBED> p *kdbr[0]

rowdata[24]

-----------

ub1 rowdata[24] @8176 0x2c

BBED> x /rnc

rowdata[24] @8176

-----------

flag@8176: 0x2c (KDRHFL, KDRHFF, KDRHFH)

lock@8177: 0x01

cols@8178: 2

col 0[2] @8179: 1

col 1[5] @8182: AAAAA

BBED> p ktbbhict

sb2 ktbbhict @36 2

8176-8076=76+(itc-1) * 24= 76+(2-1)* 24=100

2、我们对MSSM做测试

gyj@ZMDB> create tablespace mssm datafile '/u01/app/oracle/oradata/zmdb/mssm01.dbf' size 50M segment space management manual;

Tablespace created.

gyj@ZMDB> create table gyj_mssm(id int,name varchar2(100)) tablespace mssm;

Table created.

gyj@ZMDB> insert into gyj_mssm values(4,'DDDDD');

1 row created.

gyj@ZMDB> insert into gyj_mssm values(5,'EEEEE');

1 row created.

gyj@ZMDB> insert into gyj_mssm values(6,'FFFFF');

1 row created.

gyj@ZMDB> commit;

Commit complete.

gyj@ZMDB> col name for a20

gyj@ZMDB> select dbms_rowid.rowid_relative_fno(rowid) file#,dbms_rowid.rowid_block_number(rowid) block#,id,name from gyj_mssm;

FILE# BLOCK# ID NAME

---------- ---------- ---------- --------------------

11 129 4 DDDDD

11 129 5 EEEEE

11 129 6 FFFFF

BBED> set file 11 block 129

FILE# 11

BLOCK# 129

BBED> p kdbr[0]

sb2 kdbr[0] @110 8084

BBED> p *kdbr[0]

rowdata[24]

-----------

ub1 rowdata[24] @8176 0x2c

BBED> x /rnc

rowdata[24] @8176

-----------

flag@8176: 0x2c (KDRHFL, KDRHFF, KDRHFH)

lock@8177: 0x01

cols@8178: 2

col 0[2] @8179: 4

col 1[5] @8182: DDDDD

BBED> p ktbbhict

sb2 ktbbhict @36 2

8176-8084=68+(itc-1) * 24=68+(2-1)*24=92

3、为什么ASSM要比MSSM多了8个字节

************MSSM

BBED> set file 11 block 129

FILE# 11

BLOCK# 129

BBED> map /v

File: /u01/app/oracle/oradata/zmdb/mssm01.dbf (11)

Block: 129 Dba:0x02c00081

------------------------------------------------------------

KTB Data Block (Table/Cluster)

struct kcbh, 20 bytes @0

ub1 type_kcbh @0

ub1 frmt_kcbh @1

ub1 spare1_kcbh @2

ub1 spare2_kcbh @3

ub4 rdba_kcbh @4

ub4 bas_kcbh @8

ub2 wrp_kcbh @12

ub1 seq_kcbh @14

ub1 flg_kcbh @15

ub2 chkval_kcbh @16

ub2 spare3_kcbh @18

struct ktbbh, 72 bytes @20

ub1 ktbbhtyp @20

union ktbbhsid, 4 bytes @24

struct ktbbhcsc, 8 bytes @28

sb2 ktbbhict @36

ub1 ktbbhflg @38

ub1 ktbbhfsl @39

ub4 ktbbhfnx @40

struct ktbbhitl[2], 48 bytes @44

struct kdbh, 14 bytes @92

ub1 kdbhflag @92

sb1 kdbhntab @93

sb2 kdbhnrow @94

sb2 kdbhfrre @96

sb2 kdbhfsbo @98

sb2 kdbhfseo @100

sb2 kdbhavsp @102

sb2 kdbhtosp @104

struct kdbt[1], 4 bytes @106

sb2 kdbtoffs @106

sb2 kdbtnrow @108

sb2 kdbr[3] @110

ub1 freespace[8036] @116

ub1 rowdata[36] @8152

ub4 tailchk @8188

*****************ASSM

BBED> set file 10 block 135

FILE# 10

BLOCK# 135

File: /u01/app/oracle/oradata/zmdb/assm01.dbf (10)

Block: 141 Dba:0x0280008d

------------------------------------------------------------

KTB Data Block (Table/Cluster)

struct kcbh, 20 bytes @0

ub1 type_kcbh @0

ub1 frmt_kcbh @1

ub1 spare1_kcbh @2

ub1 spare2_kcbh @3

ub4 rdba_kcbh @4

ub4 bas_kcbh @8

ub2 wrp_kcbh @12

ub1 seq_kcbh @14

ub1 flg_kcbh @15

ub2 chkval_kcbh @16

ub2 spare3_kcbh @18

struct ktbbh, 72 bytes @20

ub1 ktbbhtyp @20

union ktbbhsid, 4 bytes @24

struct ktbbhcsc, 8 bytes @28

sb2 ktbbhict @36

ub1 ktbbhflg @38

ub1 ktbbhfsl @39

ub4 ktbbhfnx @40

struct ktbbhitl[2], 48 bytes @44

struct kdbh, 14 bytes @100

ub1 kdbhflag @100

sb1 kdbhntab @101

sb2 kdbhnrow @102

sb2 kdbhfrre @104

sb2 kdbhfsbo @106

sb2 kdbhfseo @108

sb2 kdbhavsp @110

sb2 kdbhtosp @112

struct kdbt[1], 4 bytes @114

sb2 kdbtoffs @114

sb2 kdbtnrow @116

sb2 kdbr[3] @118

ub1 freespace[8028] @124

ub1 rowdata[36] @8152

ub4 tailchk @8188

对比

struct kdbh, 14 bytes @92

---ASSM

struct kdbh, 14 bytes @100

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

mysql 偏移量是什么_数据块内部偏移量的基本计算方法相关推荐

  1. mysql binlog查看工具_数据同步工具otter(一)谈谈binlog和canal

    之前因为懒,没有针对otter做更多的解释和说明,在使用过程中,也发现了一些问题,此次补上一个完整的文档,方便大家使用. Otter是基于cannal开源的,canal又是基于mysql binlog ...

  2. mysql 执行计划 改变_数据量增加导致mysql执行计划改变解决_MySQL

    bitsCN.com 数据量增加导致mysql执行计划改变解决 收到运维同学电话,mysql服务器连接数满了,登录服务器查看,确实满了,好吧,首先增加连接数到2500,暂时提供对外服务.连接继续升高, ...

  3. mysql unsupported data type._数据查询Unsupported command错误

    错误如下: Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionExc ...

  4. mysql主键无意义_数据库主键不应该具有任何业务意义

    关系数据库学的最重要的一个理论是:不要给关键字赋予任何业余意义.假如关键字具有了业务意义,当用户决定业务含义,也许他们想要为关键字增加几位数字或者把数字改为字母,那么就必须修改相关的关键字.一个表中的 ...

  5. mysql的缓冲池大小_配置InnoDB缓冲池(Buffer Pool)大小

    1.配置InnoDB缓冲池(Buffer Pool)大小 当服务器正运行时,用户可以离线(启动时)或在线配置InnoDB缓冲池大小.这部分描述的行为适用这两种方法. 当增加或减少innodb_buff ...

  6. Hadoop(八)Java程序访问HDFS集群中数据块与查看文件系统

    阅读目录(Content) 一.HDFS中数据块概述 1.1.HDFS集群中数据块存放位置 1.2.数据块(data block)简介 1.3.对分布式文件系统中的块进行抽象会带来很多好处 二.Jav ...

  7. mysql insert into select大量数据插入比较慢_史上最全MySQL锁机制

    本文主要记录学习MyISAM 和 InnoDB 这两个存储引擎. 为什么要学习锁机制 锁是计算机协调多个进程或线程并发访问某一资源的机制. 因为数据也是一种供许多用户共享的资源,如何保证数据并发访问的 ...

  8. 博途数据类型wstring怎么用_解析博图数据块(昆仑通态触摸屏自动命名)

    1,博图数据块的数据排列原则: 数据对齐算法:将当前地址对齐到整数: numBytes = (int)Math.Ceiling(numBytes);将当前地址对齐到偶整数: numBytes = Ma ...

  9. mysql数据表交叉引用_数据定义语句

    数据定义语句 MySQL 8.0支持原子数据定义语言(DDL)语句.此功能称为原子DDL.原子DDL语句将数据字典更新,存储引擎操作和与DDL操作相关联的二进制日志写入操作组合到单个原子事务中.即使事 ...

最新文章

  1. 小猿圈之学习java web需要有什么基础?
  2. Linux学习日记:第二天
  3. 手动爬虫之流程笔记1(python3)
  4. 细说ASP.NET Core与OWIN的关系
  5. apigee 安装_APIGEE – API网关简介
  6. pthon-递归实战-操作文件
  7. 开源日志记录工具log4j
  8. springMvc整合hibernate出现问题
  9. Manitest: Are classifiers really invariant?论文解读
  10. 8086CPU标志位
  11. 滴滴涨价背后:市值缩水40亿美元,高峰期无人接单?
  12. 【系列1】使用Dockerfile创建带sshd服务的Centos Docker镜像
  13. 01-初探MQ-MQ的三大使用场景:应用解耦、异步提速、削峰填谷
  14. 复制链接到safari浏览器打开_苹果手机把链接复制到浏览器打不开也下载不了这怎么回事...
  15. druid以及监控台使用及配置
  16. 【SAP】ABAP——币种金额转换
  17. 爬虫-使用代理ip,使用session
  18. 2021年9月22日-忆阻神经网络综述
  19. Kafka3.0.0单机安装及简单使用
  20. .gitignore git忽略文件

热门文章

  1. 计算机黑屏时间,如何在计算机上设置黑屏时间
  2. inputstream是否一定要close_新车是否需要底盘保养?一定要喷底盘防锈漆吗?
  3. php 设置页面内容具有缓存性,php header()设置页面Cache缓存
  4. 12306一直提示网络有问题_教你怎么在12306官网订购火车票 火车票查询12306订购...
  5. D. Little Artem and Dance
  6. 在html页面中建立文字连接,html中如何建立超链接
  7. antd 表格树如何展开_元件区域 -- 菜单 | 表格 | 流程图 | 图标
  8. 【爬虫剑谱】一卷1章 软件篇-Mongodb的安装及配置
  9. js正则替换字符串中的变量为变量的值
  10. Oracle中字符串转义问题总结