mysql 偏移量是什么_数据块内部偏移量的基本计算方法
转载请注明出处: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 偏移量是什么_数据块内部偏移量的基本计算方法相关推荐
- mysql binlog查看工具_数据同步工具otter(一)谈谈binlog和canal
之前因为懒,没有针对otter做更多的解释和说明,在使用过程中,也发现了一些问题,此次补上一个完整的文档,方便大家使用. Otter是基于cannal开源的,canal又是基于mysql binlog ...
- mysql 执行计划 改变_数据量增加导致mysql执行计划改变解决_MySQL
bitsCN.com 数据量增加导致mysql执行计划改变解决 收到运维同学电话,mysql服务器连接数满了,登录服务器查看,确实满了,好吧,首先增加连接数到2500,暂时提供对外服务.连接继续升高, ...
- mysql unsupported data type._数据查询Unsupported command错误
错误如下: Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionExc ...
- mysql主键无意义_数据库主键不应该具有任何业务意义
关系数据库学的最重要的一个理论是:不要给关键字赋予任何业余意义.假如关键字具有了业务意义,当用户决定业务含义,也许他们想要为关键字增加几位数字或者把数字改为字母,那么就必须修改相关的关键字.一个表中的 ...
- mysql的缓冲池大小_配置InnoDB缓冲池(Buffer Pool)大小
1.配置InnoDB缓冲池(Buffer Pool)大小 当服务器正运行时,用户可以离线(启动时)或在线配置InnoDB缓冲池大小.这部分描述的行为适用这两种方法. 当增加或减少innodb_buff ...
- Hadoop(八)Java程序访问HDFS集群中数据块与查看文件系统
阅读目录(Content) 一.HDFS中数据块概述 1.1.HDFS集群中数据块存放位置 1.2.数据块(data block)简介 1.3.对分布式文件系统中的块进行抽象会带来很多好处 二.Jav ...
- mysql insert into select大量数据插入比较慢_史上最全MySQL锁机制
本文主要记录学习MyISAM 和 InnoDB 这两个存储引擎. 为什么要学习锁机制 锁是计算机协调多个进程或线程并发访问某一资源的机制. 因为数据也是一种供许多用户共享的资源,如何保证数据并发访问的 ...
- 博途数据类型wstring怎么用_解析博图数据块(昆仑通态触摸屏自动命名)
1,博图数据块的数据排列原则: 数据对齐算法:将当前地址对齐到整数: numBytes = (int)Math.Ceiling(numBytes);将当前地址对齐到偶整数: numBytes = Ma ...
- mysql数据表交叉引用_数据定义语句
数据定义语句 MySQL 8.0支持原子数据定义语言(DDL)语句.此功能称为原子DDL.原子DDL语句将数据字典更新,存储引擎操作和与DDL操作相关联的二进制日志写入操作组合到单个原子事务中.即使事 ...
最新文章
- 小猿圈之学习java web需要有什么基础?
- Linux学习日记:第二天
- 手动爬虫之流程笔记1(python3)
- 细说ASP.NET Core与OWIN的关系
- apigee 安装_APIGEE – API网关简介
- pthon-递归实战-操作文件
- 开源日志记录工具log4j
- springMvc整合hibernate出现问题
- Manitest: Are classifiers really invariant?论文解读
- 8086CPU标志位
- 滴滴涨价背后:市值缩水40亿美元,高峰期无人接单?
- 【系列1】使用Dockerfile创建带sshd服务的Centos Docker镜像
- 01-初探MQ-MQ的三大使用场景:应用解耦、异步提速、削峰填谷
- 复制链接到safari浏览器打开_苹果手机把链接复制到浏览器打不开也下载不了这怎么回事...
- druid以及监控台使用及配置
- 【SAP】ABAP——币种金额转换
- 爬虫-使用代理ip,使用session
- 2021年9月22日-忆阻神经网络综述
- Kafka3.0.0单机安装及简单使用
- .gitignore git忽略文件
热门文章
- 计算机黑屏时间,如何在计算机上设置黑屏时间
- inputstream是否一定要close_新车是否需要底盘保养?一定要喷底盘防锈漆吗?
- php 设置页面内容具有缓存性,php header()设置页面Cache缓存
- 12306一直提示网络有问题_教你怎么在12306官网订购火车票 火车票查询12306订购...
- D. Little Artem and Dance
- 在html页面中建立文字连接,html中如何建立超链接
- antd 表格树如何展开_元件区域 -- 菜单 | 表格 | 流程图 | 图标
- 【爬虫剑谱】一卷1章 软件篇-Mongodb的安装及配置
- js正则替换字符串中的变量为变量的值
- Oracle中字符串转义问题总结