MySql------存储引擎(InnoDB,ISAM)

本文详细对比了MySQL中的InnoDB和MyISAM存储引擎,包括存储结构、空间消耗、事务支持、锁支持和表行数。InnoDB支持事务处理和行级锁,适合高并发场景;MyISAM查询速度快,但不支持事务,适合读多写少的情况。选择存储引擎应根据实际应用场景来决定。

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

导读

MySQL支持的存储引擎很多,其中包括MyISAM、InnoDB、MERGE、EXAMPLE、BDB、ARCHIVE、MEMORY、NDB Cluster等,其中InnoDB和BDB支持事务安全。同时MySql还支持一些第三方的存储引擎,例如TokuDB(高写性能高压缩存储引擎)、Infobright(列式存储引擎)。本文主要讲InnoDB和MyISAM这两个普遍使用的存储引擎之间差异,选择场景。

InnoDB存储引擎

InnoDB是MySQL最常用的数据库引擎,是MySQL AB发布binary的标准之一。InnoDB存储引擎由Innobase Oy公司所开发,在2006年五月时被甲骨文公司并购。与传统的ISAM与MyISAM相比,InnoDB的最大特色就是支持了ACID兼容的事务(Transaction)功能,类似于PostgreSQL。

一、存储结构

所有的表都保存在同一个数据文件中(也可能是多个文件,或者是独立的表空间文件),.frm文件同样存储为表结构文件,.ibd文件存储的是数据和索引文件,InnoDB表的大小只受限于操作系统文件的大小,一般为2GB。
InnoDB支持聚簇索引和非聚簇索引

二、存储空间消耗

InnoDB会在主内存中建立其专用的缓冲池用于高速缓冲数据和索引。InnoDB表的大小只受限于操作系统文件的大小,一般为2GB。

三、对事务支持情况

拥有外键和事务支持,还具有事务提交(commit)、回滚(rollback)和崩溃修复能力(crach recovery capabilities)等这些事务安全(transaction-safe ACID compliant)型表。
InnoDB中必须包含主键索引。引擎的自动增长列必须是索引,如果是组合索引也必须是组合索引的第一列。

四、对锁支持

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值