关于mysql引擎的探究

本文介绍了MySQL中的不同存储引擎,重点对比了InnoDB和MyISAM两种引擎的特点,特别是在事务处理方面的区别。通过实际操作演示了如何查看和更改数据库表的存储引擎。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mysql引擎基础

             很久以前就知道mysql有多种存储引擎,但是究竟什么存储引擎有什么特点,现在才来学习,正名自己的求知欲并不是很强啊。得改改。
1. 首先,我们应该查看一下mysql到底有些什么样的存储引擎,然后才能开始讨论各种引擎的特点,查看mysql引擎的语句:   show engines;
   执行完成之后我们可以发现mysql中到底存在多少种类的存储引擎,如下: 
我们能够看到各种存储引擎,以及它是否支持事务,是否支持分布式事务,事务保存点。从图中可以看出只有innoDB支持,其他均部支持。
2. 那么我们平时在新建数据库表的时候究竟采用的是什么储存引擎呢?
我们可以新建一个数据库表查看一下: 语句为show table status from mysqltest where name='user_temp'; 

其中我们可以看到新建的数据库表的Engine是innoDB。
3. 那么我们能否将我们定义了的数据库表的储存引擎进行更换呢?
alter table user engine=myisam;

4. 那么为什么innoDB和MyISAMysql在Transaction的差别到底体现在什么地方呢?
原始数据: 
接下来开启事务,并进行修改,回滚:

发现数据并没有回滚。这就是myisam不支持事务的直接体现。

那么换INNODB试一试:

上面的这部分,我们已经看到了我们进行了数据库储存引擎的更改,并且我们开启了事务,进行了数据的更改,通过查看我们发现数据确实被更改了,但是这个时候如果我们进行回滚呢?

其中最终数据也没有更改,这就是为什么innoDB支持事务而myisam不支持的直接体现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值