首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

MySQL探秘(三):InnoDB的内存结构和特性

常言说得好,每个成功男人背后都有一个为他默默付出的女人,而对于MySQL来说,这个“人”就是InnoDB存储引擎。  MySQL区别于其他数据库的最为重要的特点就是其插件式的表存储引擎。而在众多存储引擎中,InnoDB是最为常用的存储引擎。从MySQL5.5.8版本开始,InnoDB存储引擎是默认的存储引擎。  InnoDB存储引擎支持事务,其设计目标主要面向在线事务处理(OLTP)的应用。其特点是行锁设计、支持外键,并支持非锁定读,即默认读操作不会产生锁。  InnoDB通过使用多版本并发控制(MVCC)来获取高并发性,并且实现了SQL标准的4中隔离级别,默认为REPEATABLE级别。同时,使用一种被称为next-key-locking的策略来避免幻读现象的产生。除此之外,InnoDB存储引擎还提供了插入缓冲(insert buffer)、二次写(double write)、自适应哈希索引(adaptive hash index)、预读(read ahead)等高性能和高可用的功能。

02

The basics of InnoDB space file layout(3.InnoDB空间文件布局基础知识)

在前面《学习InnoDB核心之旅》中,我介绍了innodb_diagrams项目来记录InnoDB的内部。它提供了这篇文章中用到的所有图表。 InnoDB的数据存储模型使用空间“Space”,在Mysql中通常被称为表空间,在InnoDB中有时也被称为文件空间。一个空间能够由操作系统级别的多个实际文件如ibData1、ibdata2组成。但是它只是一个逻辑文件。由多个物理文件被当作物理连接在一起的一个逻辑文件处理。 InnoDB的每个空间都分配一个32位的整数空间ID,它在许多不同的地方被用来引用这个空间。InnoDB总是有一个系统空间。它总是被分配空间ID为0.系统空间用于InnoDB需要的各种特殊日志记录。通过Mysql,InnoDB目前支持每个表文件空间的形式的额外空间。这将为每个Mysql表创建一个.ibd文件。在内部,这个.ibd文件实际上是一个功能完整的空间。它可以包含多个表,但是在Mysql的实现中,它门只包含一个表。也就是说通常是一张表至少有一个独立的ibd文件。

02

MySQL探秘(三):InnoDB的内存结构和特性

常言说得好,每个成功男人背后都有一个为他默默付出的女人,而对于MySQL来说,这个“人”就是InnoDB存储引擎。  MySQL区别于其他数据库的最为重要的特点就是其插件式的表存储引擎。而在众多存储引擎中,InnoDB是最为常用的存储引擎。从MySQL5.5.8版本开始,InnoDB存储引擎是默认的存储引擎。  InnoDB存储引擎支持事务,其设计目标主要面向在线事务处理(OLTP)的应用。其特点是行锁设计、支持外键,并支持非锁定读,即默认读操作不会产生锁。  InnoDB通过使用多版本并发控制(MVCC)来获取高并发性,并且实现了SQL标准的4中隔离级别,默认为REPEATABLE级别。同时,使用一种被称为next-key-locking的策略来避免幻读现象的产生。除此之外,InnoDB存储引擎还提供了插入缓冲(insert buffer)、二次写(double write)、自适应哈希索引(adaptive hash index)、预读(read ahead)等高性能和高可用的功能。

03

MySQL探秘(三):InnoDB的内存结构和特性

常言说得好,每个成功男人背后都有一个为他默默付出的女人,而对于MySQL来说,这个“人”就是InnoDB存储引擎。  MySQL区别于其他数据库的最为重要的特点就是其插件式的表存储引擎。而在众多存储引擎中,InnoDB是最为常用的存储引擎。从MySQL5.5.8版本开始,InnoDB存储引擎是默认的存储引擎。  InnoDB存储引擎支持事务,其设计目标主要面向在线事务处理(OLTP)的应用。其特点是行锁设计、支持外键,并支持非锁定读,即默认读操作不会产生锁。  InnoDB通过使用多版本并发控制(MVCC)来获取高并发性,并且实现了SQL标准的4中隔离级别,默认为REPEATABLE级别。同时,使用一种被称为next-key-locking的策略来避免幻读现象的产生。除此之外,InnoDB存储引擎还提供了插入缓冲(insert buffer)、二次写(double write)、自适应哈希索引(adaptive hash index)、预读(read ahead)等高性能和高可用的功能。

00

Mysql学习(基本指令、语句)

1) 数值   int //int(3)与长度无关,不够3位前面补0,默认看不见     float   2) 字符串   char(n) //占用n个字节,   varchar(n) //存多少用多少   text //65535   longtext //42亿   3) 日期   date   datatime   timestamp   time   year   //建议日期类型存int 2. 数据字段类型 3. 数据字段属性   unsigned//无符号,全正数   zerofill//零填充,int(3),不够补0   auto_increment//自增   null//这一列值允许为null   not null//这一列不允许为null   default//默认值 4. 数据表的字符集   \s //查看服务器的基本信息   查看数据库字符集 show creat database test;   查看表字符集 Show creat table user;   php设置客户端和连接字符集 $sql=”set names utf8”;   [mysql]   defult-character-set=utf8   //客户端和连接字符集   [mysqld]   character-set-server =utf8   //服务器、数据库和表字符集 5. 数据表索引设置

02
领券