1.什么是储存引擎?
存储引擎就是存储技术,是一种插件形式的软件组,是mysql数据库的一种特色,主要功能是检索和数据存储。存储引擎决定了mysql是如何在磁盘上存储数据的。在关系型数据库中,主要是以表的形式存储的,因此采用的存储类型为数据表的存储引擎,因此,数据库管理系统使用存储引擎来创建,修改,查询数据。innodb就是一种存储类型为数据表的存储引擎,也是mysql的默认存储引擎。
2.查看MYSQL支持的引擎
执行以下sql语句可查询mysql支持的引擎
mysql> SHOW ENGINES;
结果如下图:
Engines:表示存储引擎的名称;
Support:表示mysql是否支持这类引擎;
Comment:表示对引擎的说明;
transactions:表示是否支持事务处理(null表示缺少数据);事务处理在这里简单做下解释:数据库事务处理用于管理对数据库的读写操作,确保数据的一致性、可靠性和完整性。事务是一系列数据库操作的集合,要么全部执行成功,要么全部回滚,以确保数据在逻辑上是一致的。比如:你在修改数据库的时候,你修改了一项它会计入缓存里,你可以预览到你的修改,但是其他用户看不到。当你全部改完后,它就会写入储存,然后更新数据库,别人就可以登入数据库看到你的修改。事务处理则更注重数据的一致性和可靠性,通过事务的原子性、一致性、隔离性和持久性来保证数据库的完整性。
XA:表示是否支持分布式处理的XA规范;XA(eXtended Architecture)是一种用于分布式事务处理的标准规范,允许在多个资源管理器(比如数据库管理系统)之间协调事务的执行和提交。XA规范定义了一组API,用于在分布式环境下管理事务的执行,确保事务的一致性和可靠性。
Savepoints:表示参数是否支持保存点,以便事务回滚到保存点。需要注意的是,Savepoints是在事务内部设置的一个标记点,可以在任何一个时间节点做一个标记。你设置了这个标记,你可以先做后面的工作,当后面的工作出现问题了,就可以回到之前设置的标记处。(这个操作有点和虚拟机的快照功能类似)
从查询结果可以看出来,innodb具有支持事务处理,分布式处理和支持保存节点功能,因此在mysql 5.1之后版本默认储存引擎就是innodb。
/*可以通过以下语句查看默认储存引擎*/
mysql> SHOW VARIABLES LIKE 'default_storage_engine';/*default:默认 storage:存储*/