天天看點

檢視mysql目前表使用的存儲引擎(轉)

說明:

當我們建立表 “test”表時

一般情況這樣沒任何問題。但是,如果MySQL伺服器配置中未啟用InnoDB存儲引擎。則在建立表 test 時,MySQL還是會自動選擇預設的存儲引擎MyISAM來建立test表。因為通過SHOW CREATE TABLE 表名 來檢視表使用的mysql存儲引擎是不準确的。

執行個體:

mysql伺服器未啟用InnoDB存儲引擎;

庫名:mytest;

表名:test(mytest.test);

帳号:root;

密碼:mypassword;

列 “Engine” 下顯示的值表示表正在使用的 MySQL 存儲引擎。

1.确認 MySQL 伺服器 是否啟用InnoDB存儲引擎

傳回結果是:InnoDB對應的Support為NO,表示未啟用InnoDB存儲引擎。

2.建立表 “test”

3.使用“SHOW CREATE TABLE 表名” 來檢視,這種方式是不準确的

可以看到test表還是InnoDB引擎!!

4.使用SHOW TABLE STATUS from 資料庫庫名 where Name=’表名’;這是正确的方式

5.mysqlshow -u 資料庫登入帳号 -p ‘資料庫登入帳号密碼’ – -status 資料庫庫名 表名,這也是正确的方式

最後:

可以看出,在未啟用InnoDB存儲引擎的情況下,我們發現4,5步傳回的結果是正确的,列Engine為MyISAM而不是InnoDB存儲引擎。而第3步使用 “SHOW CREATE TABLE 表名” 來檢視表使用的mysql存儲引擎是不準确的。

http://coolnull.com/2759.html