Mysql常用的四種儲存引擎介紹

2021-08-25 17:06:50 字數 906 閱讀 6618

mysql建立表常用的四種儲存引擎有:mysam儲存引擎、innodb儲存引擎、memory儲存引擎、merge儲存引擎。

myisam儲存引擎特點:不支援事務、不支援外來鍵、訪問速度快,對事務完整性沒有要求,以select、insert為主。

支援3種不同的儲存格式:靜態表、動態表、壓縮表。

表中的字段都是非變長字段的,優點是儲存非常迅速,容易快取,出現故障容易恢復。缺點是占用的空間通常比動態表多,在取資料時,缺省會把字段後面的空格去掉,如果不注意的話會將有用的空格也給忽略。

表中有的字段不是固定長度的,優點是占用的空間相對較少,缺點是頻繁的更新、刪除操作容易產生碎片,需要定期執行 optimize table或者myisamchk-r命令來改善效能。

每個記錄是被單獨壓縮的,因此有非常小的訪問開支。

該儲存引擎提供了具有提交、回滾、奔潰恢復能力的事務安全。與mysam儲存引擎相比,寫的處理效率差一些,並且會占用更多的磁碟空間以保留資料和索引。

特點:支援自動增長列、支援外來鍵約束。

memory儲存引擎用於在記憶體中的內容來建立表,每個表實際對應乙個磁碟檔案,格式是.frm。主要用於內容變化不頻繁的**表,或者作為統計操作的中間結果表,便於高效的對中間結果進行分析並得到最終的統計結果。

特點:訪問快,因為資料存放在記憶體彙總,預設使用hash索引,但是一旦伺服器關閉,表中的資料就會丟失。

hash索引檢索效率是非常高的,可以一次定位,而b-tree索引需要從根結點到分支節點,最後才可以訪問到需要的節點,進行多次的io訪問,hash索引的效率遠高於b-tree索引。

缺點:對於不精確查詢,無效,不支援不精確查詢。

merge儲存引擎是一組mysam表的組合,這些表結果完全相同,merge本身沒有資料,對merge型別的表可以進行查詢、更新、刪除等操作,這些操作基本上是對內部的myisam表進行操作的。

MySQL的四種常用儲存引擎

mysql有很多的儲存引擎,這裡寫一下四種比較常用的儲存引擎innodb,myisam,memory,archive。innodb是mysql現在的預設儲存引擎,也是事務性資料庫的首選儲存引擎,支援外來鍵和事務,同時支援的為行級鎖。主要有以下幾個特點 1.儲存結構 innodb將表中的資料儲存在表空...

MySQL常用的四種儲存引擎介紹

mysql常用的四種儲存引擎介紹 1 myisam儲存引擎 不支援事務 也不支援外來鍵,優勢是訪問速度快,對事務完整性沒有 要求或者以select,insert為主的應用基本上可以用這個引擎來建立表 支援3種不同的儲存格式,分別是 靜態表 動態表 壓縮表 靜態表 表中的字段都是非變長字段,這樣每個記...

MySQL中四種常用儲存引擎的介紹

mysql常用的四種引擎的介紹 1 myisam儲存引擎 不支援事務 也不支援外來鍵,優勢是訪問速度快,對事務完整性沒有 要求或者以select,insert為主的應用基本上可以用這個引擎來建立表 支援3種不同的儲存格式,分別是 靜態表 動態表 壓縮表 靜態表 表中的字段都是非變長字段,這樣每個記錄...