不同的儲存引擎都有各自的特點,以適應不同的需求,如表所示。為了做出選擇,首先要考慮每乙個儲存引擎提供了哪些不同的功能。
功能mylsam
memory
innodb
archive
儲存限制
256tb
ram64tb
none
支援事務
nono
yesno
支援全文索引
yesno
nono
支援樹索引
yesyes
yesno
支援雜湊索引
noyes
nono
支援資料快取
non/a
yesno
支援外來鍵
nono
yesno
可以根據以下的原則來選擇 mysql 儲存引擎:
如果要提供提交、回滾和恢復的事務安全(acid 相容)能力,並要求實現併發控制,innodb 是乙個很好的選擇。
如果資料表主要用來插入和查詢記錄,則 myisam 引擎提供較高的處理效率。
如果只是臨時存放資料,資料量不大,並且不需要較高的資料安全性,可以選擇將資料儲存在記憶體的 memory 引擎中,mysql 中使用該引擎作為臨時表,存放查詢的中間結果。
如果只有 insert 和 select 操作,可以選擇archive 引擎,archive 儲存引擎支援高併發的插入操作,但是本身並不是事務安全的。archive 儲存引擎非常適合儲存歸檔資料,如記錄日誌資訊可以使用 archive 引擎。
MySQL基礎 如何選擇儲存引擎
建立索引的目的是加快對錶中記錄的查詢或排序,索引也並非越多越好,因為建立索引是要付出代價的 增加了資料庫的儲存空間,在插入和修改資料時要花費較多的時間維護索引。在設計表或索引時,常出現以下幾個問題 少建索引或不建索引。這個問題最突出,建議建表時 dba 可以一起協助把關。索引濫用。濫用索引將導致寫請...
mysql儲存引擎選擇
常用的儲存引擎為myisam和innodb,其它引擎有ndb cluster merge memory等等。myisam是mysql的預設搜尋引擎,其中的每乙個表都被存放為三個檔案 frm表結構資訊 myd資料檔案 myi索引檔案。myisam支援b tree索引 r tree索引和full tex...
MySQL儲存引擎 選擇
mysql有多種儲存引擎 myisam innodb merge memory heap bdb berkeleydb example federated archive csv blackhole。mysql支援數個儲存引擎作為對不同表的型別的處理器。mysql儲存引擎包括處理事務安全表的引擎和處...