mysql存储引擎使用教程_MySQL数据库教程:存储引擎详解

本文介绍了MySQL中的两种常用存储引擎:InnoDB和MyISAM。详细对比了它们的特点、适用场景及选择建议,帮助读者理解如何根据实际需求选择合适的存储引擎。

如何查看存储引擎?

使用如下命令查看系统中所有的存储引擎:

SHOW ENGINES;

如下图所示:

b88a2214b4f167f9708569aaabdb1f54.png

可以看出来当前数据库系统中有九种存储引擎,默认是InnoDB。这里我们介绍其中两种常用的引擎InnoDB和MyISAM。

如何选择存储引擎

引擎特点介绍:

不同存储引擎有不同的特点以适应不同的需求。

InnoDB

InnoDB是事务型数据库的首选引擎,通过上图我们可以看到InnoDB是MYSQL的默认事务型引擎。可以说InnoDB是目前MySQL最重要、使用最为广泛的存储引擎。它支持事务安全表(ACID),支持行锁定和外键等功能。

InnoDB主要特性有:

支持事务

支持行级锁和表级锁,能支持更多的并发量

mysql5.6版本开始支持 全文索引

查询不加锁,完全不影响查询

支持外键

采用聚集索引

MyISAM

MyISAM基于ISAM存储引擎,并对其进行扩展。它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。MyISAM拥有较高的插入、查询速度,但不支持事物。

MyISAM主要特性有:

MyISAM是mysql5.1及之前版本的默认引擎,很久未被更新。

MyISAM 不支持事务,

使用表级锁,在数据量大时表现较差。

支持全文索引,采用的是非聚集索引

支持查询缓存

不支持外键

在不同的情况下如何选择:

如果要求实现并发控制,InnoDB是个很好的选择。

如果要支持事务,选择 InnoDB,MyISAM 不支持事务。这是 MySQL 将默认存储引擎从 MyISAM 变成 InnoDB 的重要原因之一。

如果数据表绝大多数都只是读查询,主要用来查询记录,则MyISAM引擎能提供较高的处理效率。

如果需要较低的恢复难度,选择InnoDB。系统奔溃后,MyISAM恢复起来更困难。

当内存和存储空间有限时,选择MyISAM。InnoDB需要更多的内存和存储,而MyISAM可以使用压缩表,极大的减少磁盘的空间占用。

使用哪一种引擎要根据根据实际情况选择,一个数据库中不同的表可以使用不同引擎以满足各种性能和实际需求。使用合适的存储引擎,将会提高整个数据库的性能。

注意事项:

MySQL支持多种存储引擎,每一个表都可以指定一个不同的存储引擎。

外键约束(FOREIGN KEY)不能跨引擎使用。外键约束是用来保证数据的参照完整性,如果表之间需要关联外键,而不同的表指定了不同的存储引擎,则这些表之间不能创建外键约束。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值