MySQL存储引擎怎么理解

发布于 2023-06-07 18:31:18 / 15人查看

作用描述

  • Engine:引擎名称(描述);

  • Support:当前版本数据库是否支持该存储引擎,YES:支持、NO:不支持;Supports transactions, row-level locking, and foreign keys个人字面上翻译这段话:支持事务、行级别锁和外键

  • Comment:对该存储引擎的详情描述,比如描述该引擎否支持事务和外键;

  • Transactions:对该存储引擎是否支持事务的描述,YES:支持、NO:不支持;

  • XA:是否满足XA规范。XA规范是开放群组关于分布式事务处理(DTP)的规范。YES:支持、NO:不支持;

  • Savepoints:字面意思是保存点,对事物控制是否支持,YES:支持、NO:不支持。

小声哔哔,如果你能阅读明白官方的一些英文文档,这将有助于你对MySQL存储引擎的进一步理解,养成阅读源码或者文档的能力。

顺带的提一下MySQL的妹妹MariaDB。在MySQL的复刻版本MariaDB中10.2之前使用的自带的新引擎Aria,在MariaDB10.2之后使用的默认存储引擎也是InnoDB,足以看出InnoDB存储引擎的优秀之处。MariaDB的API和协议兼容MySQL,另外又添加了一些功能,以支持本地的非阻塞操作和进度报告。这意味着,所有使用MySQL的连接器、程序库和应用程序也将可以在MariaDB下工作。在此基础上,由于担心甲骨文MySQL的一个更加封闭的软件项目,Fedora等Linux发行版已经在最新版本中以MariaDB取代MySQL,维基媒体基金会的服务器同样也使用MariaDB取代了MySQL。

主要需要了解的几种存储引擎

  • MyISAM

  • InnoDB

  • MEMORY

  • MERGE

下面将着重介绍我最近看书认识的几种常用的存储引擎,对比各个存储引擎之间的区别,帮助我们理解不同存储引擎的使用方式。更多详情可以参考MySQL的官方文档。