問題描述:
MySQL 數據表主要支持六種類型 ,分別是:BDB、HEAP、ISAM、MERGE、MYISAM、InnoBDB。
這六種又分為兩類,一類是“事務安全型”(transaction-safe),包括BDB和InnoDB;其余都屬於第二類,稱為”非事務安全型”(non-transaction-safe)。
問題解決:
存儲引擎說白了就是如何存儲數據、如何為存儲的數據建立索引和如何更新、查詢數據等技術的實現方法。因為在關系數據庫中數據的存儲是以表的形式存儲的,所以存儲引擎也可以稱為表類型(即存儲和操作此表的類型)。
InnoDB 是較新的事務安全型存儲引擎,用於事務處理應用程序,支持BDB的幾乎所有特性,並具有眾多新特性,包括ACID事務支持。
特性:
事務處理機制
支持外鏈
崩潰后能立即恢復
支持外鍵功能,級聯刪除
支持並發能力
在硬盤上的存儲方式:InnoBDB frm
支持外鏈
崩潰后能立即恢復
支持外鍵功能,級聯刪除
支持並發能力
在硬盤上的存儲方式:InnoBDB frm
最新版本的Mysql已經計划移除對BDB的支持,轉而全力發展InnoDB。InnoDB對Mysql有更好的特性支持,而且開發社區活躍。
MyISAM 默認的MySQL插件式存儲引擎,它是基於ISAM類型,但它增加了許多有用的擴展,它是在Web、數據倉儲和其他應用環境下最常使用的存儲引擎之一。注意,通過更改STORAGE_ENGINE配置變量,能夠方便地更改MySQL服務器的默認存儲引擎。
優點:
優點:
1.比ISAM表更小,所占資源更少
2.可以在不同平台間二進制移植表的類型在創建表時指定。
2.可以在不同平台間二進制移植表的類型在創建表時指定。
(1)查看數據庫可以支持的存儲引擎
mysql > how engines;

注:如上圖所示,為顯示當前mysql支持的存儲引擎
mysql > select version();

從上圖看出,這里使用的是mysql 5.5版本,默認使用的是InnoDB的數據庫引擎,為安全事務的引擎
(2)查看表結構
mysql > desc table_name;

(3)顯示表的創建語句
mysql > show create table table_name;

注:
以上顯示了表的默認創建語句,從上面可以看出,mysql5.5默認情況下使用的是InnoDB的引擎,使用的編碼方式utf-8
(4)顯示表的當前狀態值
mysql > show table status like 'table_name' \G;

(5)修改數據庫表的引擎

注:mysql5.5默認情況下創建的數據表就是InnoDB,查看表的結構信息如上
修改表的數據庫引擎
mysql > alter table table_name engine=MyISAM; (或 InnoDB 等其它引擎)

修改之后,重新查看mysql的數據庫引擎
