在mysql中,存储引擎是数据库底层软件组件,简单来说就是指表的类型,它决定了表在计算机中的存储方式。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎还可以获得特定的功能。
本教程操作环境:windows7系统、mysql8版本、dell g3电脑。
数据库存储引擎是数据库底层软件组件,数据库管理系统使用数据引擎进行创建、查询、更新和删除数据操作。简而言之,存储引擎就是指表的类型。
数据库的存储引擎决定了表在计算机中的存储方式。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎还可以获得特定的功能。
在mysql中,存储引擎是以插件的形式运行的。mysql 提供了多个不同的存储引擎,包括处理事务安全表的引擎和处理非事务安全表的引擎。在 mysql 中,不需要在整个服务器中使用同一种存储引擎,针对具体的要求,可以对每一个表使用不同的存储引擎。
mysql 5.7 支持的存储引擎有 innodb、myisam、memory、merge、archive、csv、blackhole 等。可以使用show engines;语句查看系统所支持的引擎类型,结果如图所示。
support 列的值表示某种引擎是否能使用,yes表示可以使用,no表示不能使用,default表示该引擎为当前默认的存储引擎。
下面简要描写几种存储引擎,后面会对其中的几种(主要是 innodb 和 myisam )进行详细讲解。像 ndb 这样的需要更多扩展性的讨论,这超出了本教程的介绍范畴,所以在教程后面对它们不会介绍太多。
表 1 mysql 的存储引擎存储引擎描述
archive 用于数据存档的引擎,数据被插入后就不能在修改了,且不支持索引。
csv 在存储数据时,会以逗号作为数据项之间的分隔符。
blackhole 会丢弃写操作,该操作会返回空内容。
federated 将数据存储在远程数据库中,用来访问远程表的存储引擎。
innodb 具备外键支持功能的事务处理引擎
memory 置于内存的表
merge 用来管理由多个 myisam 表构成的表集合
myisam 主要的非事务处理存储引擎
ndb mysql 集群专用存储引擎
有几种存储引擎的名字还有同义词,例如,mrg_myisam 和 ndbcluster 分别是 merge 和 ndb 的同义词。存储引擎 memory 和 innodb 在早期分别称为 heap 和 innobase。虽然后面两个名字仍能被识别,但是已经被废弃了。
【相关推荐:mysql视频教程】
以上就是什么是mysql存储引擎的详细内容。