數(shù)據(jù)庫存儲引擎是數(shù)據(jù)庫底層軟件組織,數(shù)據(jù)庫管理系統(tǒng)(DBMS)使用數(shù)據(jù)引擎進行創(chuàng)建、查詢、更新和刪除數(shù)據(jù)。不同的存儲引擎提供不同的存儲機制、索引技巧、鎖定水平等功能,使用不同的存儲引擎,還可以獲得特定的功能?,F(xiàn)在許多不同的數(shù)據(jù)庫管理系統(tǒng)都支持多種不同的數(shù)據(jù)引擎。MySql的核心就是存儲引擎。
一、存儲引擎的類型
MySQL支持MyISAM、InnoDB、MERGE、MEMORY(HEAP)、BDB(BerkeleyDB)、EXAMPLE、FEDERATED、ARCHIVE等多種存儲引擎。
二、查看存儲引擎
可以使用命令SHOW ENGINES;查看MySQL使用的引擎
如果要想查看數(shù)據(jù)庫默認使用哪個引擎,可以通過使用命令SHOW VARIABLES LIKE ‘storage_engine%’;來查看
在MySQL中,不需要在整個服務器中使用同一種存儲引擎,針對具體的要求,可以對每一個表使用不同的存儲引擎。Support列的值表示某種引擎是否能使用:YES表示可以使用、NO表示不能使用、DEFAULT表示該引擎為當前默認的存儲引擎 。
創(chuàng)建數(shù)據(jù)表時可設置存儲引擎,語法:CREATE BABLE 表名(
)ENGINE=存儲引擎
三、選擇存儲引擎
不同的存儲引擎都有各自的特點,以適應不同的需求

如果要提供提交、回滾、崩潰恢復能力的事物安全(ACID兼容)能力,并要求實現(xiàn)并發(fā)控制,InnoDB是一個好的選擇。
如果數(shù)據(jù)表主要用來插入和查詢記錄,則MyISAM引擎能提供較高的處理效率。
如果只是臨時存放數(shù)據(jù),數(shù)據(jù)量不大,并且不需要較高的數(shù)據(jù)安全性,可以選擇將數(shù)據(jù)保存在內(nèi)存中的Memory引擎,MySQL中使用該引擎作為臨時表,存放查詢的中間結果。
Archive支持高并發(fā)的插入操作,但是本身不是事務安全的。Archive非常適合存儲歸檔數(shù)據(jù),如記錄日志信息可以使用Archive。
使用哪一種引擎需要靈活選擇,一個數(shù)據(jù)庫中多個表可以使用不同引擎以滿足各種性能和實際需求,使用合適的存儲引擎,將會提高整個數(shù)據(jù)庫的性能。








暫無數(shù)據(jù)