MySql数据库存储引擎(MyISAM与InnoDB)

本文详细对比了MySql的MyISAM与InnoDB存储引擎,包括存储结构、事务支持、锁粒度、索引类型、 AUTO_INCREMENT、存储空间、备份恢复策略等方面。MyISAM强调性能,不支持事务,适合大量SELECT操作;InnoDB支持事务,行级锁,适合事务要求高的场景。在选择时,根据实际需求如事务处理、并发量、数据恢复等来决定使用哪种引擎。
摘要由CSDN通过智能技术生成

  MySql可以将数据以不同的技术存储在文件(内存)中,这种技术就称为存储引擎。而每一种存储引擎也使用不同的存储机制、索引技巧、锁定水平,最终提供广泛且不同的功能。常见的存储引擎有MyISAM,InnoDB,Memory,Archive等。
  本文主要介绍的是:MyISAM与InnoDB。在5.5版本之前,MyISAM是MySQL的默认数据库引擎。虽然性能极佳,但却有一个缺点:不支持事务处理。在之后,MySql的默认数据库引擎就是InnoDB了。与MyISAM相比,InnoDB的最大特色就是支持了ACID兼容的事务(Transaction)功能,以及外部键等高级数据库功能。下面就主要聊聊这两者的具体区别。

MyISAM与InnoDB的区别

存储结构

MyISAM:每个MyISAM在磁盘上存储成三个文件。

table_name.frm      存储表结构(定义)。
table_name.MYD      存储数据
table_name.MYI      存储索引文件

InnoDB:把数据存储在表空间中,分为两种方式:
  1)、所有InonoDB表的数据和索引放置于同一个表空间中;
  2)、每个表单独使用一个表空间存储表的数据和索引。
当所有表位于同一表空间中,其数据文件存于数据目录下以ibddata[#]来命名。这种方式不利于管理和备份恢复。所以一般使用第二种方式,每张表创建单独的表空间,用来实现InnoDB所支持的高级特性,比如单表导入导出,单标备份等功能。数据文件为:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值