数据库

提供优质的关于数据库系列文章,包括数据库核心理论知识,数据库优化以及数据库的运维

MySQL技术内幕

chenssy阅读(695)评论(0)赞(2)

【MySQL技术内幕】01-MySQL体系结构和存储引擎 【MySQL技术内幕】02-InnoDB体系架构 【MySQL技术内幕】03-Checkpoint技术 【MySQL技术内幕】04-Master Thread工作方式 【MySQL技...

【MySQL技术内幕】20-Named File Formats机制

chenssy阅读(81)评论(0)赞(0)

随着 InnoDB存储引擎的发展,新的页数据结构有时用来支持新的功能特性。比如前面提到的 InnoDB1.0x版本提供了新的页数据结构来支持表压缩功能,完全的溢出( Off page)大变长字符类型字段的存储。这些新的页数据结构和之前版本的...

【MySQL技术内幕】21-约束

chenssy阅读(71)评论(0)赞(0)

1、数据完整性 关系型数据库系统和文件系统的一个不同点是,关系数据库本身能保证存储数据的完整性,不需要应用程序的控制,而文件系统一般需要在程序端进行控制。当前几乎所有的关系型数据库都提供了约束( constraint)机制,该机制提供了一条...

【MySQL技术内幕】15-InnoDB存储引擎文件

chenssy阅读(89)评论(0)赞(0)

之前介绍的文件都是 MySQL数据库本身的文件,和存储引擎无关。除了这些文件外,每个表存储引擎还有其自己独有的文件。本节将具体介绍与 InnoDB存储引擎密切相关的文件,这些文件包括重做日志文件、表空间文件。 1、表空间文件 InnoDB采...

【MySQL技术内幕】16-索引组织表

chenssy阅读(91)评论(0)赞(0)

在 InnoDB存储引擎中,表都是根据主键顺序组织存放的,这种存储方式的表称为索引组织表( index organized table)。在 InnoDB存储引擎表中,每张表都有个主键( Primary Key),如果在创建表时没有显式地定...

【MySQL技术内幕】22-视图

chenssy阅读(75)评论(0)赞(0)

在 MySQL数据库中,视图(view)是一个命名的虚表,它由一个SQL查询来定义,可以当做表使用。与持久表( permanent table)不同的是,视图中的数据没有实际的物理存储。 1、视图的作用 视图在数据库中发挥着重要的作用。视图...

【MySQL技术内幕】23-分区表

chenssy阅读(77)评论(0)赞(0)

1、分区概述 分区功能并不是在存储引擎层完成的,因此不是只有 InnoDB存储引擎支持分区,常见的存储引擎 MyISAM、NDB等都支持。但也并不是所有的存储引擎都支持,如CSV、 FEDORATED、 MERGE等就不支持。在使用分区功能...

【MySQL技术内幕】45-认识事务

chenssy阅读(97)评论(0)赞(0)

1、概述 事务可由一条非常简单的SQL语句组成,也可以由一组复杂的SQL语句组成。 事务是访问并更新数据库中各种数据项的一个程序执行单元。在事务中的操作,要么都做修改,要么都不做,这就是事务的目的,也是事务模型区别与文件系统的重要特征之一。...

【MySQL技术内幕】24-InnoDB存储引擎索引概述

chenssy阅读(75)评论(0)赞(0)

InnoDB存储引擎支持以下几种常见的索引: B+树索引 全文索引 哈希索引 前面已经提到过, InnoDB存储引擎支持的哈希索引是自适应的, InnoDB存储引擎会根据表的使用情况自动为表生成哈希索引,不能人为干预是否在一张表中生成哈希索...

【MySQL技术内幕】25-B+树的操作

chenssy阅读(103)评论(0)赞(0)

B+树中,所有记录节点都按照键值的大小顺序放在同一层叶子节点,各个叶子节点指针进行连接。 图中指针是单向的,但是书上的图是双向的,而且旋转应该也是双向才能完成) B+树插入处理 LeafPage满 IndexPage满 操作 No No 直...

【MySQL技术内幕】30-B+树索引的使用

chenssy阅读(76)评论(0)赞(0)

1、不同应用中B+树索引的使用 在了解了B+树索引的本质和实现后,下一个需要考虑的问题是怎样正确地使用B+树索引,这不是一个简单的问题。这里所总结的可能并不适用于所有的应用场合。我所能做的只是概括一个大概的方向。在实际的生产环境使用中,每个...