MYSQL存储引擎InnoDB(一):简介
发布时间:2022-09-23 15:47:28 所属栏目:MySql教程 来源:
导读: InnoDB是一种兼顾高可靠性和高性能的通用存储引擎。在 MySQL 8.0 中,InnoDB是默认的 MySQL 存储引擎。除非配置了不同的默认存?储引擎,否则CREATE TABLE语句会创建一个InnoDB表。
InnoDB 的主要优势
InnoDB 的主要优势
InnoDB是一种兼顾高可靠性和高性能的通用存储引擎。在 MySQL 8.0 中,InnoDB是默认的 MySQL 存储引擎。除非配置了不同的默认存?储引擎,否则CREATE TABLE语句会创建一个InnoDB表。 InnoDB 的主要优势 InnoDB 存储引擎特性 特征 支持 B树索引 是的 备份/时间点恢复(在服务器中实现,而不是在存储引擎中。) 是的 集群数据库支持 不 聚集索引 是的 压缩数据 是的 数据缓存 是的 加密数据 是(通过加密函数在服务器中实现;在 MySQL 5.7 及更高版本中,支持静态数据加密。) 外键支持 是的 全文检索索引 是(MySQL 5.6 及更高版本支持 FULLTEXT 索引。) 地理空间数据类型支持 是的 地理空间索引支持 是(MySQL 5.7 及更高版本提供对地理空间索引的支持。) 哈希索引 否(InnoDB 在内部使用哈希索引来实现其自适应哈希索引功能。) 索引缓存 是的 锁定粒度 排 MVCC 是的 复制支持(在服务器中实现,而不是在存储引擎中。) 是的 存储限制 64TB T-树索引 不 交易 是的 更新数据字典的统计信息 是的 使用InnoDB表的好处 1、如果服务器因为硬件或软件问题而意外退出,无论当时数据库中发生了什么,重启数据库后都不需要做任何特别的事情。InnoDB崩溃恢复会自动完成崩溃之前提交的更改,并撤消正在进行但未提交的更改,从而允许您重新启动并从中断处继续。 2、InnoDB存储引擎维护自己的缓冲池,在访问数据时将表和索引数据缓存在主内存中 。经常使用的数据直接从内存中处理。此缓存适用于多种类型的信息并加快处理速度。在专用数据库服务器上,多达 80% 的物理内存通常分配给缓冲池。 3、如果将相关数据拆分到不同的表中mysql介绍,则可以设置强制引用完整性的外键。 4、如果磁盘或内存中的数据损坏,校验和机制会在您使用虚假数据之前向您发出警报。 innodb_checksum_algorithm 变量定义了InnoDB使用的校验算法 。 5、当您为每个表设计具有适当主键列的数据库时,涉及这些列的操作会自动优化。在WHERE从句、ORDER BY从句、 GROUP BY 从句、连接操作中引用主键列的速度非常快 。 6、插入、更新和删除通过称为更改缓冲的自动机制进行优化。InnoDB 不仅允许对同一张表进行并发读写访问,它还缓存更改的数据以简化磁盘 I/O。 7、性能优势不仅限于具有长时间运行查询的大型表。当从表中反复访问相同的行时,自适应哈希索引会接管以使这些查找更快,就好像它们来自哈希表一样。 8、您可以压缩表和关联的索引。 9、您可以加密您的数据。 10、您可以创建和删除索引并执行其他 DDL 操作,而对性能和可用性的影响要小得多。 11、删除独立表空间非常快,并且可以释放磁盘空间供操作系统重用。 12、表格数据的存储布局对于 BLOB长文本字段和DYNAMIC行格式更有效。 13、您可以通过查询INFORMATION_SCHEMA表来监控存储引擎的内部工作。 14、您可以通过查询 Performance Schema 表来监控存储引擎的性能细节。 15、您可以将InnoDB表与来自其他 MySQL 存储引擎的表混合在一起,即使在同一语句中也是如此。例如,您可以使用连接操作在单个查询中合并来自InnoDB表和 MEMORY表的数据。 16、InnoDB专为处理大量数据时的 CPU 效率和最佳性能而设计。 17、InnoDB表可以处理大量数据,即使在文件大小限制为 2GB 的操作系统上也是如此。 (编辑:拼字网 - 核心网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐