函数 page_dir_get_n_heap
查看某page中含有的记录个数
#define PAGE_N_HEAP 4 /* number of records in the heap, bit =flag: new-style compact page format */ /*************************************************************//** Gets the number of records in the heap. @return number of user records */ UNIV_INLINE ulint page_dir_get_n_heap( /*================*/ const page_t* page) /*!< in: index page */ { return(page_header_get_field(page, PAGE_N_HEAP) & 0x7fff); } /*************************************************************//** Reads the given header field. */ UNIV_INLINE ulint page_header_get_field( /*==================*/ const page_t* page, /*!< in: page */ ulint field) /*!< in: PAGE_LEVEL, ... */ { ut_ad(page); ut_ad(field <= PAGE_INDEX_ID); return(mach_read_from_2(page + PAGE_HEADER + field)); } #define PAGE_HEADER FSEG_PAGE_DATA /* index page header starts at this offset */ #define FSEG_PAGE_DATA FIL_PAGE_DATA #define FIL_PAGE_DATA 38
名称
|
长度
|
含义
|
FIL_PAGE_SPACE
|
4
|
space id
|
FIL_PAGE_OFFSET
|
4
|
页号
|
FIL_PAGE_PREV
|
4
|
上一页
|
FIL_PAGE_NEXT
|
4
|
下一页
|
FIL_PAGE_LSN
|
8
|
日志序列号
|
FIL_PAGE_TYPE
|
2
|
页类型
|
FIL_PAGE_FILE_FLUSH_LSN
|
8
|
文件的日志序列号,仅文件的第一页的此字段有效
|
FIL_PAGE_ARCH_LOG_NO
|
4
|
归档日志文件号
|
名称
|
长度
|
含义
|
PAGE_N_DIR_SLOTS
|
2
|
记录槽的数量,初始值为2,因为页至少具有最小虚记录与最大虚记录
|
PAGE_HEAP_TOP
|
2
|
指向堆中的第一条记录
|
PAGE_N_HEAP
|
2
|
堆记录的数量,初始值为2
|
PAGE_N_FREE
|
2
|
指向第一个空闲记录
|
PAGE_GARBAGE
|
2
|
被删除记录的总字节数
|
PAGE_LAST_INSERT
|
2
|
指向最后一个插入的记录
|
PAGE_DIRECTION
|
2
|
记录顺序
|
PAGE_N_DIRECTION
|
2
|
连续同方面插入的数量
|
PAGE_N_RECS
|
2
|
用户记录的数量
|
PAGE_MAX_TRX_ID
|
8
|
更改此页的最高事务ID(仅仅对二级索引有效)
|
PAGE_LEVEL
|
2
|
该页在索引中的层次(页节点是0)
|
PAGE_INDEX_ID
|
8
|
所属的索引ID
|
PAGE_BTR_SEG_LEAF
|
10
|
索引页节点段
|
PAGE_BTR_SEG_TOP
|
10
|
索引内节点段
|
函数 page_dir_get_n_heap的更多相关文章
- 函数lock_rec_create
/*********************************************************************//** Creates a new record lock ...
- Python 小而美的函数
python提供了一些有趣且实用的函数,如any all zip,这些函数能够大幅简化我们得代码,可以更优雅的处理可迭代的对象,同时使用的时候也得注意一些情况 any any(iterable) ...
- 探究javascript对象和数组的异同,及函数变量缓存技巧
javascript中最经典也最受非议的一句话就是:javascript中一切皆是对象.这篇重点要提到的,就是任何jser都不陌生的Object和Array. 有段时间曾经很诧异,到底两种数据类型用来 ...
- JavaScript权威指南 - 函数
函数本身就是一段JavaScript代码,定义一次但可能被调用任意次.如果函数挂载在一个对象上,作为对象的一个属性,通常这种函数被称作对象的方法.用于初始化一个新创建的对象的函数被称作构造函数. 相对 ...
- C++对C的函数拓展
一,内联函数 1.内联函数的概念 C++中的const常量可以用来代替宏常数的定义,例如:用const int a = 10来替换# define a 10.那么C++中是否有什么解决方案来替代宏代码 ...
- 菜鸟Python学习笔记第一天:关于一些函数库的使用
2017年1月3日 星期二 大一学习一门新的计算机语言真的很难,有时候连函数拼写出错查错都能查半天,没办法,谁让我英语太渣. 关于计算机语言的学习我想还是从C语言学习开始为好,Python有很多语言的 ...
- javascript中的this与函数讲解
前言 javascript中没有块级作用域(es6以前),javascript中作用域分为函数作用域和全局作用域.并且,大家可以认为全局作用域其实就是Window函数的函数作用域,我们编写的js代码, ...
- 复杂的 Hash 函数组合有意义吗?
很久以前看到一篇文章,讲某个大网站储存用户口令时,会经过十分复杂的处理.怎么个复杂记不得了,大概就是先 Hash,结果加上一些特殊字符再 Hash,结果再加上些字符.再倒序.再怎么怎么的.再 Hash ...
- JS核心系列:浅谈函数的作用域
一.作用域(scope) 所谓作用域就是:变量在声明它们的函数体以及这个函数体嵌套的任意函数体内都是有定义的. function scope(){ var foo = "global&quo ...
随机推荐
- Fragment inner class should be static
package com.example.fragmenttest; import android.annotation.SuppressLint; import android.app.Activit ...
- 学习KnockOut第一篇之Hello World
学习KnockOut第一篇之Hello World 笔者刚开始学习KnockOut.写的内容就相当于一个学习笔记.且在此处向官网致敬,比较喜欢他们家的Live Example版块,里面有jsFiddl ...
- adb 选择设备
在adb中有多个设备时,可以先adb devices列举出设备,然后可以通过adb -s <设备名> [其他参数] 对某个设备进行操作. 例如: adb -s 0123456789ABC ...
- android 开发自建wifi热点的默认ip
android 开发自建wifi热点的默认ip是:192.168.43.1 (小米3测试)
- java url中文参数乱码问题
http://www.blogjava.net/jerry-zhaoj/archive/2009/07/16/286993.html 转 JAVA 中URL链接中文参数乱码的处理方法JAVA 中URL ...
- SpringJUnit4测试--测试无反应/控制台报空指针的解决---junit的jar冲突!
前言: 前些日子碰到一个诡异的问题--用springJUnit进行测试,运行方法什么反应也没有,控制台 也没有输出,百度也没有答案--只好暂时作罢.今天我只好用上了排除法,建个测试小项目,将只要能测试 ...
- C#快速排序算法基础入门篇
相信算法对于许多开发人员来说都是一大难点,之所以难,就像设计模式一样,许多人在阅读之后,没有很好地理解,也不愿意动手上机操作,只停留在理论的学习上面,随着时间推移就慢慢淡忘. 有些东西,你可以发明创造 ...
- hdu 1063 Exponentiation
求实数的幂,这个用C++写的话有点长,但是用Java写就非常方便了…… ); System.out.println(an); } }}
- linux入门教程(十) 文档的压缩与打包
在windows下我们接触最多的压缩文件就是.rar格式的了.但在linux下这样的格式是不能识别的,它有自己所特有的压缩工具.但有一种文件在windows和linux下都能使用那就是.zip格式的文 ...
- MQTT客户端与服务代理的案列
服务端,采用 Mosquitto 来转发分发消息. 客户端自己写. 服务端 启动 mosquitto (底下的命令是我自己放到环境变量里面的,通过alias 运行mosquitto) Ishallbe ...