Innodb逻辑存储

Innodb逻辑存储

segment:数据段、回滚段……

extent:一个extent 64个page,一个大的segment可申请4个extent

page:一个page 16k,一个extent16*64=1024k=1M

segment:和oracle类似,在某种程度上,一个segment可以理解为一个表

Buffer和Page关系

  1. buffer以page为单位(保守态度),从数据文件中向内存中交互数据;
  2. mysql也分为物理读和逻辑读,和oracle类似;
  3. page交互到内存中,一个page对应一个buffer,[术语上注意];
  4. buffer分为free[从未使用],clean[与数据文件中数据保持一致],dirty[与数据文件中数据不一致]

内存链状管理

  1. freelist对应free buffer;
  2. flushlist对应dirty buffer,需要刷新;
  3. lrulist对应cleanbuffer,关注命中率;
  4. list链表,可从前往后,也可从后前。
时间: 2024-08-14 09:55:59

Innodb逻辑存储的相关文章

MySQL InnoDB 逻辑存储结构

MySQL InnoDB 逻辑存储结构 从InnoDB存储引擎的逻辑结构看,所有数据都被逻辑地存放在一个空间内,称为表空间,而表空间由段(sengment).区(extent).页(page)组成.ps:页在一些文档中又称块(block). InnoDB存储引擎的逻辑存储结构大致如下: 一.表空间(table space) 表空间分为了两种,这里简单的概括一下: 1. 独立表空间:每一个表都将会生成以独立的文件方式来进行存储,每一个表都有一个.frm表描述文件,还有一个.ibd文件. 其中这个文

InnoDB逻辑存储结构

从InnoDB存储引擎的逻辑存储结构看,所有数据都被逻辑地存放在一个空间中,称之为表空间(tablespace).表空间又由段(segment).区(extent).页(page)组成.页在一些文档中有时也称为(block),InnoDB存储引擎的逻辑存储结构大致如图: 表空间可以看做是InnoDB存储引擎逻辑结构的最高层,所有的数据都存放在表空间中.默认情况下InnoDB存储引擎有一个共享表空间ibdata1,即所有数据都存放在这个表空间内.如果用户启动了innodb_file_per_tab

InnoDB存储引擎介绍-(5) Innodb逻辑存储结构

如果创建表时没有显示的定义主键,mysql会按如下方式创建主键: 首先判断表中是否有非空的唯一索引,如果有,则该列为主键. 如果不符合上述条件,存储引擎会自动创建一个6字节大小的指针. 当表中有多个非空的唯一索引,会选择建表时第一个定义的非空唯一索引.注意根据的是定义索引的顺序,不是创建列的顺序. 表空间 tablespace(ibd文件) 段 segment(一个索引2个段) Extent(1MB) Page(16KB) Row Field 表空间

InnoDB存储引擎表的逻辑存储结构

1.索引组织表: 在InnoDB存储引擎中,表都是依照主键顺序组织存放的.这样的存储方式的表称为索引组织表,在innodb存储引擎表中,每张表都有主键.假设创建的时候没有显式定义主键,则InnoDB会依照例如以下方式选择或者创建主键: 1). 首先推断表中是否有非空的唯一索引,假设有.则该列就为主键. 2).   假设不符合上述条件,则innodb会自己主动创建一个6字节大小的指针 假设表中有多个非空唯一索引时,InnoDB将选择建表时第一个定义的非空唯一索引为主键,通过_rowid能够显示表的

Innodb物理存储结构系列2 行记录格式

前一篇讨论了Innodb system,表空间,文件的关系及数据结构,这一篇记录下Innodb行记录的格式. 前提: 1. server层和innodb层都有自己对于record的记录格式,需要进行转换. 2. 物理文件上的记录存储,需要内存中的数据结构进行对应(任何数据都需要在内存中进行处理),进行存取的转换. 1. 测试case: create table `pp` ( `id` int(11) default null, `name1` varchar(100) default null,

Innodb物理存储结构系列1

本篇先介绍 下Innodb表空间,文件相关的内存数据结构. 1. 数据结构 Innodb的tablespace和文件的关系,是一对多的关系,先来看三个结构体 1. fil_system_struct: 表示Innodb的表空间内存cache,innodb一共包括两类tablespace,即 #define FIL_TABLESPACE 501 /*!< tablespace */ #define FIL_LOG 502 /*!< redo log */ 而fil_tablespace有包括了两

IOS 区分缓存 内存 物理存储 逻辑存储

1. 存储器分为内部存储器(内存)和外部存储器(外存). ①内存 内存是电脑内部临时存放数据的地方,供CPU直接读取,存放在其中的数据要靠电来维持,一旦断电就会丢失.因此,在操作电脑时,应及时地将需要保存的信息进行保存. 内存的特点是:容量小,速度极快,临时存放数据. ②外存 外存包括软盘.硬盘和光盘,存放在其中的数据靠磁来维持,因此可永久保存数据. 外存的特点:容量很大,速度较慢,可永久保存数据. 2. 物理卷Physical Volume,称为PV:指物理上硬盘,一个硬盘就是一个PV逻辑卷组

innodb的存储结构

如下所示,innodb的存储结构包含:表空间,段,区,页(块),行 innodb存储结构优化的标准是:一个页里面存放的行数越多,其性能越高 表空间:零散页+段 独立表空间存放的是:数据.索引.插入缓冲. 共享表空间存放的是:撤销信息.系统事务信息.二次写缓冲.共享表空间扩展后就不会回缩了. 段:存储引擎自动管理 区:由64个连续的页组成,每个页大小为16K(每个区大小为1M),对于大的数据段,innodb存储引擎每次最多可以申请4个  区,以此来保证数据的顺序性能.在每个段开始都有32个页大小的

oracle逻辑存储结构

逻辑存储结构是对数据存储结构在逻辑概念上的划分.oracle的逻辑存储结构主要由表空间.段.区间和数据块等概念组成.oracle数据块是由多个表空间组成,表空间又是由多个段组成,段有多个数据区组成,数据区又有多个块组成.数据块是Oracle逻辑存储中的最小的逻辑单位,也是执行数据输入.输出最小存储单位.数据块由块头.表目录.行目录.空余空间和行数据组成.块头.表目录.行目录组合起来称为头部信息区,头部信息区不存放数据,存放整个块的引导信息,起到引导系统读取数据的作用.空余空间和行数据公共构成块的