InnoDB简介

InnoDB是一个既稳定且高性能的通用存储引擎,在MySQL5.7下默认的存储引擎就是InnoDB。

InnoDB的特性

InnoDB的关键特性如下:

  • DML语句满足ACID的事务模型。
  • 行级锁和Oracle-style的一致性读,这个特性提高了用户并发度和性能。
  • InnoDB在磁盘上使用primary keys结构对你的数据进行组织。每个使用InnoDB作为存储引擎的表都有一个称为clustered index的结构组织数据来最小化主键查询时的IO次数。

InnoDB存储引擎的一些特性:

Storage limits 64TB Transactions Yes Locking granularity Row
MVCC Yes Geospatial data type support Yes Geospatial indexing support Yes
B-tree indexes Yes T-tree indexes No Hash indexes No
Full-text search indexes Yes Clustered indexes Yes Data caches Yes
Index caches Yes Compressed data Yes Encrypted data Yes
Cluster database support No Replication support Yes Foreign key support Yes
Backup / point-in-time recovery Yes Query cache support Yes Update statistics for data dictionary Yes

InnoDB的好处

使用InnoDB的好处:

  • crash recovery:在机器发生故障宕机后,只要是已提交的数据一定能够被恢复,不会丢失。
  • buffer pool:将经常访问的数据缓存在内存中,加快了处理速度。在专用于数据库软件的服务器上,80%的内存都是被分配给InnoDB的buffer pool使用。
  • 支持外键约束:当两个表之间存在主外键的约束关系时,删除主表的数据时,对应的外键所在的表的数据也会相应地被删除。
  • 数据校验:在磁盘上的数据发生损毁时,数据校验功能可以在访问这片数据之前就发出警告不能使用这片数据。
  • 对于主键字段上的order by,group by,join都会有优化,速度会很快。
  • change buffering:insert,update,delete操作使用这种change buffering机制优化,使得InnoDB不只能够对同一个表实现并发读写,并且可以使被修改的数据实现流式IO。
  • 性能优化对大表上的长时间查询也是有效的。当有的数据行被反复访问时,有个称为Adaptive Hash Index的特性能够优化这种情况,使访问更快,仿佛是在一个hash table中查找一样。
  • 能够压缩存储表和相关的索引。
  • 建索引和删索引的操作对系统性能及稳定性影响非常低。
  • 使用file-per-table存储模式的表被清空数据时,它的存储空间会还给文件系统,而不是交由InnoDB存储空间来重新利用。
  • 对于BLOB类型和text类型,它们在InnoDB中是作为dynamic的行格式存储,效率更高。
  • 可以查询INFORMATION_SCHEMA库中的相应表,获得存储引擎的相关性能细节。
  • 可以在一条SQL语句中混合查询使用不同存储引擎的表,例如join两张分别使用了MyISAM和InnoDB的数据表。
  • InnoDB在处理大数据卷方面进行了优化,能够最大化CPU的效率和性能。
  • InnoDB能够处理大量的数据,即使操作系统的最大文件限制只有2GB。
时间: 2024-10-05 12:57:20

InnoDB简介的相关文章

14.1节:InnoDB简介

14.1.1. InnoDB-MySQL默认的存储引擎 14.1.2. 检测InnoDB的可用性 14.1.3. 关闭InnoDB InnoDB是一个兼顾高可靠性和高性能的通用存储引擎.在MySQL5.5中InnoDB是默认的存储引擎.在MySQL5.7中 执行Create Table语句的时候如果不是用engine=语句来指定所使用的存储引擎,那么默认将会使用InnoDB存储引擎.如 下图1实验结果即可证明 mysql> create table innodb( -> id int prim

Mysql数据库的使用总结之Innodb简介(一)

最近在对开发的软件的服务器部分制作安装包,但服务器部分需要有mysql数据库的支持.因此,采用免安装版的mysql策略:将mysql数据库需要的文件在安装程序中进行设置和打包即可.但也遇到了很多问题,下面分三节进行总结. 由于我们采用的是mysql中的innodb存储引擎,故在此只对innodb作一些介绍,详细内容可以参见mysql的官网说明http://dev.mysql.com/. InnoDB概述 InnoDB给MySQL提供了具有提交,回滚和崩溃恢复能力的事务安全(ACID兼容)存储引擎

MySQL InnoDB简介

从MySQL 5.5版本开始InnoDB已经是默认的表存储引擎 InnoDB 1:完全支持ACID 2:支持行级锁 3:支持MVCC 4:支持外键 MySQL 5.1版本 MySQL 5.1版本之前,InnoDB被包含在MySQL的二进制发行版中,随着MySQL更新而更新 5.1版本MySQL允许开发商以动态方式加载存储引擎,这样存储引擎的更新就不受MySQL版本的限制了. 也就是说MySQL5.1版本可以支持2个InnoDB存储引擎 1:静态编译的InnoDB 2:动态加载的InnoDB  也

mysql 默认引擎innodb 初探(二)

写在前 本篇博客承接上一篇 mysql 默认引擎innodb 初探(一)进行对mysql数据库 innodb存储引擎进行探索 mysql默认存储引擎 innodb简介 Innodb是第一个完整支持ACID事务的mysql存储引擎(BDB是第一个支持事务的mysql存储引擎,目前已经停止开发): 主要特点是 支持行锁,MVCC,事务,外键及一致性非锁读,可以有效利用CPU和内存: 各版本对比如下: tips : 如果不支持多回滚段,Innodb最大支持并发事务量被限制为1023 innodb体系架

第二课——解析mysqldump命令和mysqlbinlog命令+innodb和Myisam存储引擎简介

环境说明 mysql版本:Percona-Server-5.6.30 IP:10.7.15.167 端口:3306 安装目录:/httx/run/mysql 数据目录:/httx/run/mysql/data/ mysqldump的常用参数 mysqldump测试--–研究加–single_transaction参数的区别 开启general_log日志,跟踪mysql操作日志 (general_log日志可以方便跟踪所有mysql上的操作,但是生产环境不建议开启,占用资源.消耗内存) mysq

InnoDB多版本存储引擎简介

SHOW ENGINES查看所有存储引擎及支持情况 当启动InnoDB的时候,会自动进行兼容性检查 ACID 模型Atomicity主要与事务操作相关,autocommit.Commit.rollbackConsistency用于保护数据的引擎内部处理程序,包括doublewrite buffer.crash recoveryIsolation主要与事务操作相关,autocommit.isolation level .lockingDurability主要涉及mysql 软件与一些特定硬件的配置

MySql中启用InnoDB数据引擎简介 以及 InnoDB与 MYISAM的区别和联系

1.存储引擎是什么? MySQL中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平并且最终提供广泛的不同的功能和能力.通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能.这些不同的技术以及配套的相关功能在MySQL中被称作存储引擎(也称作表类型).MySql默认配置了许多不同的存储引擎,可以预先设置或者在MySql服务器中启用. 2.MYSQL支持的数据引擎 MyISAM:默认的MySQL插件式存储引擎,它是

Innodb semi-consistent 简介

A type of read operation used for UPDATE statements, that is a combination of read committed and consistent read. When an UPDATE statement examines a row that is already locked, InnoDB returns the latest committed version to MySQL so that MySQL can d

SQLyog简介及其功能(附百度云盘下载地址)

一.软件简介 SQLyog 是一个快速而简洁的图形化管理MYSQL数据库的工具,它能够在任何地点有效地管理你的数据库.SQLyog是业界著名的Webyog公司出品的一款简洁高效.功能强大的图形化MySQL数据库管理工具.使用SQLyog可以快速直观地让您从世界的任何角落通过网络来维护远端的MySQL数据库.SQLyog相比其它类似的MySQL数据库管理工具其有如下特点: 1.基于C++和MySQLAPI编程. 2.方便快捷的数据库同步与数据库结构同步工具. 3.易用的数据库.数据表备份与还原功能