1.什麼是儲存引擎?
模擬於,就是資料庫表裡的資料儲存在資料庫裡及磁碟上的系統格式特徵,不同的儲存引擎訪問,引擎功能,占用的空間大小,讀取效能等可能有區別.
2.mysql的儲存引擎是mysql資料庫的重要組成部分,最常用的為myisam和innodb兩種,mysql的儲存引擎結構如圖所示:
3.常用引擎的介紹:
1).什麼是myisam引擎?
myisam引擎是mysql關聯式資料庫管理系統的預設儲存引擎(mysql5.5.5以前),這種mysql的表儲存結構從舊的isam**擴充套件出許多有用的功能.
在儲存的時候,每乙個myisam表都對應於硬碟上的三個檔案.這樣三個檔案有一樣的檔名,但是副檔名不一樣,都有其不同的用途: .frm檔案儲存表的定義,這個檔案並不是myisam引擎的一部分,而是伺服器的一部分,.myd儲存表的資料;.myi是表的索引檔案. .myd和.myi才是myisam的關鍵點:
2).什麼是innodb引擎?
innodb引擎是mysql資料庫的另乙個重要的引擎.而且正在成為目前mysql ab說發行的新版的標準,被包含在所有的二進位制安裝包裡面.和其他的儲存引擎相比,innodb引擎的優點是支援相容acid的事務(類似於postgresql),以及引數完整性(有外來鍵)等.現在innobase實行雙認證授權.mysql5.5.5以後預設的儲存引擎都是innodb引擎.
3.其他儲存引擎:見下表
4.各個引擎的優缺點:
myisam:預設的mysql外掛程式式儲存引擎,它是在web、資料倉儲和其他應用環境下最常使用的儲存引擎之一。注意,通過更改storage_engine配置變數,能夠方便地更改mysql伺服器的預設儲存引擎。
innodb:用於事務處理應用程式,具有眾多特性,包括acid事務支援。
bdb:可替代innodb的事務引擎,支援commit、rollback和其他事務特性。
memory:將所有資料儲存在ram中,在需要快速查詢引用和其他類似資料的環境下,可提供極快的訪問。
merge:允許mysql dba或開發人員將一系列等同的myisam表以邏輯方式組合在一起,並作為1個物件引用它們。對於諸如資料倉儲等vldb環境十分適合。
archive:為大量很少引用的歷史、歸檔、或安全審計資訊的儲存和檢索提供了完美的解決方案。
federated:能夠將多個分離的mysql伺服器鏈結起來,從多個物理伺服器建立乙個邏輯資料庫。十分適合於分布式環境或資料集市環境。
cluster/ndb:mysql的簇式資料庫引擎,尤其適合於具有高效能查詢要求的應用程式,這類查詢需求還要求具有最高的正常工作時間和可用性。
other:其他儲存引擎包括csv(引用由逗號隔開的用作資料庫表的檔案),blackhole(用於臨時禁止對資料庫的應用程式輸入),以及example
請記住,對於整個伺服器或方案,你並不一定要使用相同的儲存引擎,你可以為方案中的每個表使用不同的儲存引擎,這點很重要。
mysql引擎總結 MySQL儲存引擎對比總結
儲存引擎是資料庫的核心,對於mysql來說,儲存引擎是以外掛程式的形式執行的。雖然mysql支援種類繁多的儲存引擎,但是常用的就那麼幾種。這篇文章主要是對其進行乙個總結和對比。一 引言 在mysql5之後,支援的儲存引擎有十幾個,但是常用的就那麼幾種,而且預設支援的也是innodb,既然要進行乙個對...
mysql儲存引擎對比
下面我們重點介紹幾種常用的儲存引擎並對比各個儲存引擎之間的區別和推薦使用方式。特點myisam bdbmemory innodb archive 儲存限制 沒有沒有 有64tb 沒有事務安全 支援支援 鎖機制表鎖 頁鎖表鎖 行鎖行鎖 b樹索引 支援支援 支援支援 雜湊索引 支援支援 全文索引 支援集...
Mysql儲存引擎對比
下述儲存引擎是最常用的 myisam 預設的mysql外掛程式式儲存引擎,它是在web 資料倉儲和其他應用環境下最常使用的儲存引擎之一。注意,通過更改storage engine配置變數,能夠方便地更改mysql伺服器的預設儲存引擎。innodb 用於事務處理應用程式,具有眾多特性,包括acid事務...