關於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不支持的直接體現。

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