1. 程式人生 > >MySQL常用引擎

MySQL常用引擎

滿懷對mysql資料庫研究的熱情,繼續走向引擎。

引擎是啥

引擎可以理解為汽車的發動機,可以理解為人的性格,對於資料庫:
資料庫儲存引擎: 是資料庫底層軟體組織,資料庫管理系統(DBMS)使用資料引擎進行建立、查詢、更新和刪除資料。不同的儲存引擎提供不同的儲存機制、索引技巧、鎖定水平等功能,使用不同的儲存引擎,還可以 獲得特定的功能。現在許多不同的資料庫管理系統都支援多種不同的資料引擎,還可以支援外掛引擎。

有哪些型別,有什麼不同

ISAM

5.1版本之前存在的可以快速儲存和查詢資料的引擎,不佔用大量記憶體和儲存資源,但是不支援事務,索引,外來鍵等核心功能,已經廢棄

MyISAM

5.1版本之後出現的,主要基於ISAM引擎,提供了索引和欄位管理,還提供了使用一種表格鎖定的機制來優化多個併發的讀寫操作,但是由於其快速讀取的效能,主要用於高負載的查詢。

HEAP

也稱MEMERY,該引擎通過在記憶體中建立臨時表來儲存資料,每個表實際對應著一個磁碟檔案,檔名和表明相同,字尾名為.frm。由於其在記憶體中儲存,所以有很高的儲存,查詢,修改效能,儲存引擎預設使用hash索引,但由於其儲存在記憶體中,所以資料可能存在不穩定性。所以當資料庫異常重啟,或者電腦重慶相關資料就會遺失,一般只使用一次。

INNODB

5.5版本後預設的資料庫引擎,支援事務,索引,外來鍵,系統崩潰修復能力和多版本併發控制的行級鎖。支援自增auto_increment。

CSV

使用該引擎的MySQL資料庫表會在MySQL安裝目錄data資料夾中的和該表所在資料庫名相同的目錄中生成一個.CSV檔案(所以,它可以將CSV型別的檔案當做表進行處理),這種檔案是一種普通文字檔案,每個資料行佔用一個文字行。該種類型的儲存引擎不支援索引,即使用該種類型的表沒有主鍵列;另外也不允許表中的欄位為null。