欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Mysql存储引擎之Innodb存储引擎的介绍

程序员文章站 2022-04-21 21:49:42
...
在 MySQL 中使用最为广泛的除了 MyISAM 之外,就非 Innodb 莫属了。Innodb 做为第三方公司所开发的存储引擎,和 MySQL 遵守相同的开源 License 协议。

Innodb 之所以能如此受宠,主要是在于其功能方面的较多特点:

1、支持事务安装

Innodb 在功能方面最重要的一点就是对事务安全的支持,这无疑是让 Innodb 成为 MySQL最为流行的存储引擎之一的一个非常重要原因。而且实现了 SQL92 标准所定义的所有四个级别(READ UNCOMMITTED,READ COMMITTED,REPEATABLE READ 和 SERIALIZABLE)。对事务安全的支持,无疑让很多之前因为特殊业务要求而不得不放弃使用 MySQL 的用户转向支持
MySQL,以及之前对数据库选型持观望态度的用户,也大大增加了对 MySQL 好感。

2、数据多版本读取

Innodb 在事务支持的同时,为了保证数据的一致性已经并发时候的性能,通过对 undo信息,实现了数据的多版本读取。

3、锁定机制的改进

Innodb 改变了 MyISAM 的锁机制,实现了行锁。虽然 Innodb 的行锁机制的实现是通过索引来完成的,但毕竟在数据库中 99%的 SQL 语句都是要使用索引来做检索数据的。所以,行锁定机制也无疑为 Innodb 在承受高并发压力的环境下增强了不小的竞争力。

4、实现外键

Innodb 实现了外键引用这一数据库的重要特性,使在数据库端控制部分数据的完整性成为可能。虽然很多数据库系统调优专家都建议不要这样做,但是对于不少用户来说在数据库端加如外键控制可能仍然是成本最低的选择。

除了以上几个功能上面的亮点之外,Innodb 还有很多其他一些功能特色常常带给使用者不小的惊喜,同时也为 MySQL 带来了更多的客户。在物理存储方卖弄, Innodb 存储引擎也和 MyISAM 不太一样,虽然也有.frm 文件来存放表结构定义相关的元数据,但是表数据和索引数据是存放在一起的。至于是每个表单独存放还是所有表存放在一起,完全由用户来决定(通过特定配置),同时还支持符号链接。

以上就是Mysql存储引擎之Innodb存储引擎的介绍的内容,更多相关内容请关注PHP中文网(www.php.cn)!