查詢方法:1、使用「SHOW TABLE STATUS FROM `資料庫名稱`;」語句,可列出指定資料庫中所有資料表的信息,包括表格類型;2、使用「SHOW CREATE TABLE `資料表名`;」語句,可列出指定資料表的信息,包括表格類型。
本教學操作環境:windows7系統、mysql8版本、Dell G3電腦。
MySQL 資料表主要支援六種類型 ,分別是:BDB、HEAP、ISAM、MERGE、MYISAM、InnoBDB。
這六種又分為兩類,一類是」事務安全型」(transaction-safe),包括BDB和InnoDB;其餘都屬於第二類,稱為」非事務安全型」( non-transaction-safe)。
BDB 全名是”Brekeley DB”,它是Mysql最早的具有事務能力的表的類型,由Sleepycat Software (http://www.sleepycat.com)開發。它提供了事務控制能力功能,它確保一組命令全部執行成功,或者當任何一個命令出現錯誤時所有命令的結果都被回退,可以想像在電子銀行中事務控制能力是非常重要的。支援COMMIT、ROLLBACK和其他事務特性。最新版本的Mysql已經計畫移除對BDB的支持,轉而全力發展InnoDB。
InnoDB 是較新的事務安全型儲存引擎,用於事務處理應用程序,支援BDB的幾乎所有特性,並具有眾多新特性,包括ACID事務支援。
特性:
事務處理機制
#支援外鏈
崩潰後能立即恢復
支援外鍵功能,級聯刪除
支援並發能力
在硬碟上的儲存方式:InnoBDB frm
最新版本的Mysql已經計畫移除對BDB的支持,轉而全力發展InnoDB。 InnoDB對Mysql有更好的特性支持,而且開發社群活躍。
MyISAM 預設的MySQL插件式儲存引擎,它是基於ISAM類型,但它增加了許多有用的擴展,它是在Web、資料倉儲和其他應用環境下最常使用的儲存引擎之一。注意,透過更改STORAGE_ENGINE配置變量,能夠方便地更改MySQL伺服器的預設儲存引擎。
優點:
1.比ISAM表更小,所佔資源更少
2.可以在不同平台間二進位移植表的類型在建立表格時指定。
ISAM 是MyISAM類型出現之前MySQL表使用的預設類型,現在已經被MyISAM取代。
Memory (HEAP) 是MySQL表中存取最快的表,將所有資料保存在RAM中,在需要快速尋找引用和其他類似資料的環境下,可提供極快的存取。注意,這種類型下資料是非持久化設計的,它一般適應於臨時表,如果MySQL或伺服器崩潰,表中資料全部遺失。
Merge 是值得關注的新式表,它是由一組MyISAM表組成,之所合併主要出於性能上考慮,因為它能夠提高搜尋速度,提高修復效率,節省磁碟空間。允許MySQL DBA或開發人員將一系列等同的MyISAM表以邏輯方式組合在一起,並作為1個物件引用它們。對於諸如資料倉儲等VLDB環境十分適合。有時它以 MRG_MYISAM 名稱出現。
Archive 為大量很少被引用的歷史、歸檔、或安全審計資訊的儲存和檢索提供了完美的解決方案。
Federated 能夠將多個分離的MySQL伺服器連結起來,從多個實體伺服器建立一個邏輯資料庫。十分適合於分散式環境或資料集市環境。
NDBCluster/Cluster/NDB MySQL的簇式資料庫引擎,特別適合具有高效能查找要求的應用程序,這類查找需求還要求具有最高的正常工作時間和可用性。
CSV 使用標準的CSV格式,由逗號隔開的文字文件,適應於外部資料交換
Blackhole 它會接受資料但不保存,而且對任何檢索請求傳回一個空集。它一般適應於資料會被自動複製並不進行本地保存的分散式資料庫設計。 (不確定的)似乎也可以用於暫時禁止/忽略對資料庫的應用程式輸入。
Example 這是一個測試引擎,你可以建立一個這樣的表,但既不能寫入數據,也不能檢索資料。它似乎是一個針對MySql開發者提供的範例引擎。
有關操作和查看表格類型的命令語法如下
#-- -- 创建表时指定表类型的方法 CREATE TABLE `message` ( `id` int(11) NOT NULL auto_increment, `sender` varchar(255) default NULL, `receiver` varchar(255) default NULL, `content` text, `is_read` char(1) default 'N', `send_time` datetime default NULL, `del_flag` tinyint(4) default '0', PRIMARY KEY (`id`) ) ENGINE=MYISAM; -- 也可以创建后更改: ALTER TABLE `message` ENGINE = INNODB;
查看表格類型
方法1:
-- 查看表类型(存储引擎) SHOW TABLE STATUS FROM `test`;
結果為資料庫test中所有表的信息,其中第二項type即是表的類型。
方法2:
-- 查看表类型(存储引擎)2 SHOW CREATE TABLE `message`;
结果为表message创建时的信息,其中有TYPE或ENGINE一项,指定了表的类型(存储引擎)。
注意:老版本的MySQL使用 TYPE而不是ENGINE(例如,TYPE = MYISAM)。MySQL 5.1为向下兼容而支持这个语法,但TYPE现在被轻视,而ENGINE 是首先的用法。 一般地,ENGINE选项是不必要的;除非默认已经被改变了,MyISAM是默认存储引擎。
【相关推荐:mysql视频教程】
以上是mysql怎麼查詢表類型的詳細內容。更多資訊請關注PHP中文網其他相關文章!