Mysql存儲引擎特性總結(jié)
幾個常用存儲引擎的特點
下面我們重點介紹幾種常用的存儲引擎并對比各個存儲引擎之間的區(qū)別和推薦使用方式。
特點 | Myisam | BDB | Memory | InnoDB | Archive |
---|---|---|---|---|---|
存儲限制 | 沒有 | 沒有 | 有 | 64TB | 沒有 |
事務(wù)安全 | 支持 | 支持 | |||
鎖機制 | 表鎖 | 頁鎖 | 表鎖 | 行鎖 | 行鎖 |
B樹索引 | 支持 | 支持 | 支持 | 支持 | |
哈希索引 | 支持 | 支持 | |||
全文索引 | 支持 | ||||
集群索引 | 支持 | ||||
數(shù)據(jù)緩存 | 支持 | 支持 | |||
索引緩存 | 支持 | 支持 | 支持 | ||
數(shù)據(jù)可壓縮 | 支持 | 支持 | |||
空間使用 | 低 | 低 | N/A | 高 | 非常低 |
內(nèi)存使用 | 低 | 低 | 中等 | 高 | 低 |
批量插入的速度 | 高 | 高 | 高 | 低 | 非常高 |
支持外鍵 | 支持 |
最常使用的2種存儲引擎:
•Myisam是Mysql的默認存儲引擎。當create創(chuàng)建新表時,未指定新表的存儲引擎時,默認使用Myisam。每個MyISAM在磁盤上存儲成三個文件。文件名都和表名相同,擴展名分別是.frm(存儲表定義)、.MYD (MYData,存儲數(shù)據(jù))、.MYI (MYIndex,存儲索引)。數(shù)據(jù)文件和索引文件可以放置在不同的目錄,平均分布io,獲得更快的速度。
•InnoDB存儲引擎提供了具有提交、回滾和崩潰恢復(fù)能力的事務(wù)安全。但是對比Myisam的存儲引擎,InnoDB寫的處理效率差一些并且會占用更多的磁盤空間以保留數(shù)據(jù)和索引。
如何選擇合適的存儲引擎
選擇標準:根據(jù)應(yīng)用特點選擇合適的存儲引擎,對于復(fù)雜的應(yīng)用系統(tǒng)可以根據(jù)實際情況選擇多種存儲引擎進行組合。
下面是常用存儲引擎的適用環(huán)境:
1.MyISAM:默認的MySQL插件式存儲引擎,它是在Web、數(shù)據(jù)倉儲和其他應(yīng)用環(huán)境下最常使用的存儲引擎之一
2.InnoDB:用于事務(wù)處理應(yīng)用程序,具有眾多特性,包括ACID事務(wù)支持。
3.Memory:將所有數(shù)據(jù)保存在RAM中,在需要快速查找引用和其他類似數(shù)據(jù)的環(huán)境下,可提供極快的訪問。
4.Merge:允許MySQL DBA或開發(fā)人員將一系列等同的MyISAM表以邏輯方式組合在一起,并作為1個對象引用它們。對于諸如數(shù)據(jù)倉儲等VLDB環(huán)境十分適合。
相關(guān)文章
mysql installer web community 5.7.21.0.msi安裝圖文教程
這篇文章主要為大家詳細介紹了mysql installer web community 5.7.21.0.msi,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-09-09mysql創(chuàng)建外鍵報錯的原因及解決(can't?not?create?table)
這篇文章主要介紹了mysql創(chuàng)建外鍵報錯的原因及解決方案(can't?not?create?table),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-09-09MySQL 如何查詢 JSON 數(shù)組是否包含特定的值
本文給大家介紹MySQL 如何查詢 JSON 數(shù)組是否包含特定的值,假設(shè)定義了一張表 School,其中字段 stages 為 JSON 類型,本文通過實例代碼給大家詳細講解,感興趣的朋友一起看看吧2023-11-11MySQL優(yōu)化總結(jié)-查詢總條數(shù)
這篇文章主要介紹了MySQL優(yōu)化總結(jié)-查詢總條數(shù)的相關(guān)內(nèi)容,文中進行簡單的測試對比,具有一定參考價值,需要的朋友可以了解下。2017-10-10MySQL觸發(fā)器 Update觸發(fā)Insert失敗
這篇文章主要介紹了MySQL觸發(fā)器 Update觸發(fā)Insert失敗 的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-07-07