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

mysql有哪些常見的儲存引擎

王林
王林原創
2020-06-24 15:17:234054瀏覽

mysql常見的儲存引擎有:1、InnoDB儲存引擎;2、MyISAM儲存引擎;3、MEMORY儲存引擎。 mysql5.5以後預設使用InnoDB儲存引擎,它有著熱備份、外鍵關聯、行級鎖定、交易等特性。

mysql有哪些常見的儲存引擎

mysql中常見的儲存引擎有:

(推薦教學:mysql教學

1、InnoDB 引擎(MySQL5.5以後預設使用)

MySQL 5.5 及以後版本中的預設儲存引擎,它的優點如下:

  • #災難復原性好

  • 支援交易

  • #使用行級鎖定

  • 支持外鍵關聯

  • 支援熱備份

  • #對於InnoDB引擎中的表,其資料的實體組織形式是簇表(Cluster Table) ,主鍵索引和數據是在一起的,數據按主鍵的順序物理分佈實現了緩衝管理,不僅能緩衝索引也能緩衝數據,並且會自動創建散列索引以加快數據的獲取

2、MyISAM引擎

#特性如下:

  • 不支援交易

  • # #使用表級鎖,並發性差

  • 主機宕機後,MyISAM表易損壞,災難復原性不佳

  • ##可以配合鎖,實作作業系統下的複製備份、遷移
  • 只快取索引,資料的快取是利用作業系統緩衝區來實現的。可能引發過多的系統呼叫且效率不佳
  • 資料緊湊存儲,因此可獲得更小的索引和更快的全表掃描效能
3、MEMORY 儲存引擎

#特點:

    提供記憶體表,不支援交易和外鍵
  • 使用表級鎖,雖然記憶體存取快,但如果頻繁的讀寫,表級鎖定會成為瓶頸
  • 只支援固定大小的行。 Varchar類型的欄位會儲存為固定長度的Char類型,浪費空間
  • 不支援TEXT、BLOB欄位。當有些查詢需要使用到臨時表(使用的也是MEMORY儲存引擎)時,如果表中有TEXT、BLOB字段,那麼會轉換為基於磁碟的MyISAM表,嚴重降低效能
  • 由於記憶體資源成本昂貴,一般不建議設定過大的記憶體表,如果記憶體表滿了,可透過清除資料或調整記憶體表參數來避免報錯
  • 伺服器重啟後資料會遺失,複製維護時需要小心

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

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