InnoDB简介

InnoDB作为MySQL默认的存储引擎,提供了ACID事务支持、行级锁定和一致性读取等功能,极大提升了并发处理能力和性能。它通过使用主键索引来最小化I/O操作并支持多种索引类型和数据优化措施。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

InnoDB的特性

InnoDB的关键特性如下:

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

InnoDB存储引擎的一些特性:

Storage limits64TBTransactionsYesLocking granularityRow
MVCCYesGeospatial data type supportYesGeospatial indexing supportYes
B-tree indexesYesT-tree indexesNoHash indexesNo
Full-text search indexesYesClustered indexesYesData cachesYes
Index cachesYesCompressed dataYesEncrypted dataYes
Cluster database supportNoReplication supportYesForeign key supportYes
Backup / point-in-time recoveryYesQuery cache supportYesUpdate statistics for data dictionaryYes

 

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。

 

转载于:https://www.cnblogs.com/lifewithlight/p/6024683.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值