首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MYSQL Innodb逻辑存储结构

这几天在读《MySQL技术内幕 InnoDB存储引擎》,对 Innodb逻辑存储结构有了些了解,顺便也记录一下; 从InnoDB存储引擎的逻辑存储结构看,所有数据都被逻辑地存放在一个空间中,称之为表空间...页在一些文档中有时也称为(block),InnoDB存储引擎的逻辑存储结构大致如图: ? 一、表空间 表空间可以看做是InnoDB存储引擎逻辑结构的最高层,所有的数据都存放在表空间中。.../mysql_3306/data/ibdata* -rw-r----- 1 mysql mysql 76M Jul 28 17:43 /data/mysql/mysql_3306/data/ibdata1...Page: 91 Insert Buffer Bitmap: 1 File Space Header: 1 B-tree Node: 34 File Segment inode: 1 四、页 同大多数数据库一样...与Oracle类似的是,Microsoft SQL Server数据库默认每页大小为8KB,不同于InnoDB页的默认大小(16KB);innodb 1.2.X版本开始,可以通过参数innodb_page_size

84820
您找到你想要的搜索结果了吗?
是的
没有找到

Mysql引擎介绍及InnoDB逻辑存储结构

对于后端开发来说,数据库是我们日常开发中几乎都会使用到的。而且对于许多大型应用来说,往往数据库就是限制其性能的瓶颈所在。在以前的大多数时间里面,对数据库的认知,始终停留在一个比较浅的层面里。...MySQL架构 以下是MySQL大体的组件结构 摘自https://www.rathishkumar.in/2016/04/understanding-mysql-architecture.html...64TB 支持哈希索引 No Yes No 支持全文索引 Yes No No 支持数索引 Yes Yes Yes 支持数据缓存 No N/A Yes 支持外键 No No Yes InnoDB内存/磁盘结构及存储逻辑结构...InnoDB的数据逻辑结构 从上面InnoDB的架构图里面的右半部分可以知道,无论是索引还是数据,InnoDB都把它们存在.idb后缀(或者ibdata1)的文件中。...总结 其实当我们大概了解了InnoDB架构组件中各个组件的作用,以及其数据存储的逻辑结构。也就大概明白了为什么InnoDB提供了这么多其它存储引擎不能提供的相关特性。

48810

Mysql引擎介绍及InnoDB逻辑存储结构

对于后端开发来说,数据库是我们日常开发中几乎都会使用到的。而且对于许多大型应用来说,往往数据库就是限制其性能的瓶颈所在。在以前的大多数时间里面,对数据库的认知,始终停留在一个比较浅的层面里。...遂决定翻阅相关的书籍、博客和官方文档,让自己对数据库有一个全面的了解。 MySQL架构 以下是MySQL大体的组件结构 ?...支持哈希索引 No Yes No 支持全文索引 Yes No No 支持数索引 Yes Yes Yes 支持数据缓存 No N/A Yes 支持外键 No No Yes InnoDB内存/磁盘结构及存储逻辑结构...InnoDB的数据逻辑结构 从上面InnoDB的架构图里面的右半部分可以知道,无论是索引还是数据,InnoDB都把它们存在.idb后缀(或者ibdata1)的文件中。...总结 其实当我们大概了解了InnoDB架构组件中各个组件的作用,以及其数据存储的逻辑结构。也就大概明白了为什么InnoDB提供了这么多其它存储引擎不能提供的相关特性。

55520

Oracle数据库逻辑存储结构与物理存储结构

Oracle数据库逻辑存储结构是指在数据库中用于组织和存储数据的逻辑对象以下是一些常见的逻辑存储结构对象的说明:表(Table):表是Oracle数据库中最基本的逻辑存储结构对象,用于存储数据。...索引(Index):索引是用于加快数据检索和排序的数据结构。它包含键值和对应的行指针,通过索引可以快速定位到数据记录。序列(Sequence):序列是一个按照顺序生成唯一数值的对象。...这些逻辑存储结构对象一起构成了Oracle数据库中的数据模型和数据访问机制。...Oracle数据库的物理存储结构Oracle数据库的物理存储结构由以下几个重要文件组成:数据文件(Data Files):数据文件是用来存储表数据、索引数据和其他数据库对象的文件。...控制文件(Control Files):控制文件用于记录数据库结构信息,包括数据库的名称、数据文件和重做日志文件的名称、数据库中的数据文件和重做日志文件的个数等。

27531

MYSQL 数据库结构优化

数据库结构优化 优化数据大小 使表占用尽量少的磁盘空间。减少磁盘I/O次数及读取数据量是提升性能的基础原则。表越小,数据读写处理时则需要更少的内存,同时,小表的索引占用也相对小,索引处理也更加快速。...如果主要的负载在缓存命中率及磁盘读写速度,那么这种格式将能够提升数据库反应速度。如果是极端情况负载受限于CPU性能,那么使用这种格式则会降低数据库性能。...对于InnoDB 类型表,主键列博阿含在二级索引中,所以对于具有较多二级索引的数据库结构,较短的主键能够节省相当的存储空间。 不要创建不必要的索引。索引能够加快查询,但是会影响插入和更新操作。...如果使用随机生成的值作为InnoDB 表主键,最好前置一些自增的值,如当前的时间戳等。当连续的主键物理上也临近存储,那么InnoDB 可以更快的查询和查询。 数值类型优先使用。...同一个数据库中表过多的缺点 如果数据库中MyISAM 表过多,打开,关闭和创建表操作会变得很慢,当执行多表查询时,可能会发生表缓存溢出。

7.5K51

常用逻辑结构

想把事情叙述清楚有几个常用的逻辑结构。主要分为四种类型:传统型、流程型、情境型、要素型。 传统型 传统型是知识点按照常用逻辑,抽丝剥茧般的展示出来。又有三种主要的结构。 ?...思考 Q: 《面试专家职位面试官会问什么》这篇文章使用了什么逻辑结构? A:   要素型结构。 Q:《代码荣辱观-以运用风格为荣,以随意编码为耻》这篇文章使用了什么逻辑结构?...A:传统型结构中的:是为什么->为什么->怎么做 Q: 《平时代码中用不到设计模式?Are you kidding me?》这篇文章使用了什么逻辑结构?...A:  情景型结构 Q: 本文使用了什么逻辑结构? A: 传统型结构中的:概念->原理->应用

44310

数据库结构文档的生成利器

之前我们每次的数据库变更,都会增量更新我们的数据库文档,如下所示,便于从文档中了解数据库结构, ? 但是自从我们开始使用自研的数据库变更管控平台,每次变更都会记录到系统中,因此不再手动更新这个文档。...还可以自己写个程序,读取user_tables、user_indexes、user_constraints等视图,构建一个数据库文档,曾经为了比对两个数据库结构,写过一个生成pdf格式的程序,列出table...无意中从git上找到了一个契合此需求的项目,叫做screw,他是一个数据库结构文档生成工具。 ? 作者的解释,是不是和我们的日常状态非常相像?...关于数据库结构文档状态:要么没有、要么有、但都是手写、后期运维开发,需要手动进行维护到文档中,很是繁琐、如果忘记一次维护、就会给以后工作造成很多困扰、无形中制造了很多坑留给自己和后人。...可以自行选择导出的数据库对象。 5. 支持自定义模板。可以根据需求,定制自己的数据库导出逻辑

70620

数据库结构文档的生成利器

之前我们每次的数据库变更,都会增量更新我们的数据库文档,如下所示,便于从文档中了解数据库结构, 但是自从我们开始使用自研的数据库变更管控平台,每次变更都会记录到系统中,因此不再手动更新这个文档。...还可以自己写个程序,读取user_tables、user_indexes、user_constraints等视图,构建一个数据库文档,曾经为了比对两个数据库结构,写过一个生成pdf格式的程序,列出table...无意中从git上找到了一个契合此需求的项目,叫做screw,他是一个数据库结构文档生成工具。 作者的解释,是不是和我们的日常状态非常相像?...关于数据库结构文档状态:要么没有、要么有、但都是手写、后期运维开发,需要手动进行维护到文档中,很是繁琐、如果忘记一次维护、就会给以后工作造成很多困扰、无形中制造了很多坑留给自己和后人。...可以自行选择导出的数据库对象。 5. 支持自定义模板。可以根据需求,定制自己的数据库导出逻辑

53410

MySQL:概念、逻辑与物理结构设计详解

MySQL:概念、逻辑与物理结构设计详解 一、引言 MySQL是一个流行的开源关系型数据库管理系统(RDBMS),广泛应用于各种规模和类型的应用程序中。...在设计和实现一个MySQL数据库时,理解其基本概念、逻辑结构设计和物理结构设计是至关重要的。本文将深入探讨MySQL的这三个方面,并详细解释每个部分的内容和重要性。...二、MySQL基本概念 2.1 数据库(Database) 数据库是存储结构化数据的仓库,这些数据可以是文本、数字、图像等。...三、逻辑结构设计 逻辑结构设计是数据库设计的核心部分,它定义了数据如何组织、存储和访问。...在MySQL中,逻辑结构设计主要涉及以下几个方面: 3.1 数据模型选择 根据业务需求和数据特点,选择合适的数据模型(如关系模型、层次模型、网状模型等)。在MySQL中,通常使用关系模型来组织数据。

19610

MySQL数据库:表结构优化

数据库操作中最为耗时的操作就是 IO 处理,大部分数据库操作 90% 以上的时间都花在了 IO 读写上面。所以减少 IO 次数可以在很大程度上提高数据库操作的性能。...由于MySQL数据库是基于行存储的数据库,而数据库IO操作的时候是以 page 的方式,也就是说,如果我们每行记录所占用的空间量减小,就会使每个 page 中可存放的数据行数增大,那么每次 IO 可访问的行数也就增多了...4、ENUM & SET: 对于状态字段,可以尝试使用 ENUM 来存放,因为可以极大的降低存储空间,而且即使需要增加新的类型,只要增加于末尾,修改结构也不需要重建表数据。...二、表结构设计: 上面几点的优化都是为了减少每条记录的存储空间大小,让每个数据库中能够存储更多的记录条数,以达到减少 IO 操作次数,提高缓存命中率。...虽然 MySQL null 类型和 Oracle 的 null 有差异,会进入索引中,但如果是一个组合索引,那么这个 null 类型的字段会极大影响整个索引的效率。

7K10

MySQL结构生成 Markdown 文档 | 工具篇

,当要将某一版本归档时,需要汇总的文档要求还是比较高的、各类文档齐全,包括项目架构、项目安装、接口等文档,而数据库结构说明文档亦属于其一。...记得很早之前想找一个可以导出 MySQL 数据库结构说明文档的工具,生态上的这种工具是有的、只不过并没有一个使我比较满足的。当然、看个人所需,我需要一个可以导出 markdown 文档的。...他只有一个功能、就是生成数据库结构说明文档,格式为madkdown。...md2rtf md2openOffice md2Epub md2latex md2MediaWiki md2reStructureText md2textile md2OPML md2png 文档页面效果 生成的...MD文件 [MySQL结构生成 Markdown 文档] MD文件转PDF [MySQL结构生成 Markdown转PDF 文档]

2.1K00

数据结构-逻辑结构和物理结构

数据结构:相互之间存在一种或多种特定关系的数据元素的集合 1.数据结构分为逻辑结构和物理结构 集合结构:集合结构中的数据元素除了同属于一个集合外,他们之间没有其他关系 ?...线性结构:线性结构中的数据元素之间是一对一的关系 ? 树形结构:树形结构中的数据元素之间存在一种一对多的层次关系 ? 图形结构:图形结构中的数据元素是多对多的关系 ?...2.物理逻辑:也叫作存储结构,是指数据的逻辑结构在计算机中的存储形式 分为循序存储结构和链式存储结构 顺序存储结构:把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的 ?...链式存储结构:把数据元素存放在任意的存储单元中,可以连续可以不连续,并不能反映其逻辑关系,因此需要一个指针存放其他数据元素的地址,这样通过地址找到相关联数据元素的位置 ?

96530
领券