儲存引擎是為不同的表型別處理 sql 操作的 mysql 元件。innodb 是預設的、最通用的儲存引擎,也是官方推薦使用的儲存引擎,除非一些特定案例。mysql 5.6 中的 create table 語句建立的表的儲存引擎預設就是 innodb。
mysql 伺服器使用的是乙個可插拔儲存引擎架構,它能夠在執行的時候動態載入或者解除安裝這些儲存引擎。
可以使用 show engines 語句來檢視你的 mysql 伺服器所支援的儲存引擎。support 列裡的值指示出是否乙個引擎可以被你使用:yes、no 以及 default 值分別表示某儲存引擎是可用、不可用、可用並且是當前預設的儲存引擎。
對於整台伺服器或整個 schema 你並不受限於使用同一種儲存引擎。你可以為所有表定義儲存引擎。比如,乙個應用可能以 innodb 表為主,輔以乙個 csv 表用以匯出資料到電子**,少許 memory 表用以臨時工作空間。
mysql 提供的這些儲存引擎為不同的應用案例進行設計。下表為 mysql 提供的儲存引擎做了乙個概述:
儲存引擎特性總結
特性myisam
memory
innodb
archive
ndb儲存上限
ndbram
64tb
無384eb
事務支援否否
是否是鎖粒度表表
行錶行mvcc否否
是否否地理空間資料型別支援是否
是是是地理空間索引支援是否
是否否b-tree 索引是是
是否否t-tree 索引否否
否否是hash 索引否是
否否是全文檢索索引是否
是否否聚集索引否否
是否否資料快取
否n/a是否
是索引快取
是n/a是否
是資料壓縮是否
是是否資料加密是是
是是是支援資料庫集群否否
否否是支援主從是是
是是是支援外來鍵否否
是否否備份/時間點恢復是是
是是是支援查詢快取是是
是是是更新資料字典的統計是是
是是是
MySQL所支援的多種儲存引擎
4.memory 5.merge 6.archive 儲存引擎就是儲存資料,建立索引,更新查詢資料等等技術的實現方式 儲存引擎是基於表的,而不是基於庫的。所以儲存引擎也可被稱為表型別。mysql支援的儲存引擎包含 innodb myisam bdb memory merge example ndb ...
MYSQL 5 6中禁用INNODB引擎
並不是所有人都需要innodb引擎,雖然它彌補了mysql缺乏事務支援的毛病,但是它的磁碟效能一直是讓人比較擔憂的。另外比較老的php系統,大多是採用myisam引擎在mysql建表,似乎innodb根本用不上場,這時候可以考慮將innodb禁掉。在mysql 5.6中,直接skip innodb前...
MYSQL 5 6中禁用INNODB引擎
並不是所有人都需要innodb引擎,雖然它彌補了mysql缺乏事務支援的毛病,但是它的磁碟效能一直是讓人比較擔憂的。另外比較老的php系統,大多是採用myisam引擎在mysql建表,似乎innodb根本用不上場,這時候可以考慮將innodb禁掉。在mysql 5.6中,直接skip innodb前...