首頁 >資料庫 >mysql教程 >mysql常用的儲存引擎有哪些

mysql常用的儲存引擎有哪些

清浅
清浅原創
2019-05-07 16:50:1528960瀏覽

MySql中的儲存引擎有:1、MyISAM引擎;2、MyISAM Merge引擎;3、InnoDB引擎;4、memory引擎;5、archive引擎。

mysql常用的儲存引擎有哪些

MySql中的儲存引擎

1、MyISAM引擎

這種引擎是mysql最早提供的,這種引擎又可以分為靜態MyISAM、動態MyISAM 和壓縮MyISAM三種:

(1)靜態MyISAM:如果資料表中的各資料列的長度都是預先固定好的,伺服器會自動選擇這種表類型。因為資料表中每一筆記錄所佔用的空間都是一樣的,所以這種表存取和更新的效率非常高。當資料受損時,恢復工作也比較容易做。

(2)動態MyISAM:如果資料表中出現varchar、xxxtext或xxxBLOB欄位時,伺服器將自動選擇這種表類型。相對於靜態MyISAM,這種表儲存空間比較小,但由於每筆記錄的長度不一,所以多次修改資料後,資料表中的資料就可能離散的儲存在記憶體中,進而導致執行效率下降。同時,記憶體中也可能會出現很多碎片。因此,這種類型的表格要經常使用optimize table 指令或最佳化工具來進行碎片整理。

(3)壓縮MyISAM:以上說到的兩種類型的表都可以用myisamchk工具壓縮。這種類型的表進一步減小了佔用的存儲,但是這種表壓縮之後不能再被修改。另外,因為是壓縮數據,所以這種表在讀取的時候要先時行解壓縮。

但是,不管是何種MyISAM表,目前它都不支援事務,行級鎖定和外鍵約束的功能。

2、MyISAM Merge引擎

這種類型是MyISAM類型的一種變體。合併表是將幾個相同的MyISAM表合併為一個虛表。常應用於日誌和資料倉儲。

3、InnoDB引擎

InnoDB表格型別可以看成是對MyISAM進一步更新的產品,它提供了交易、行級鎖定機制和外鍵約束的功能。

4、memory(heap)引擎

這種類型的資料表只存在於記憶體中。它使用散列索引,所以資料的訪問​​速度非常快。因為是存在於記憶體中,所以這種型別常應用於臨時表中。

5、archive引擎

這種型別只支援select 和 insert語句,而且不支援索引。常應用於日誌記錄和聚合分析方面。

以上是mysql常用的儲存引擎有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn