关于mysql引擎的探究

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不支持的直接体现。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章