《Mysql學習淺談選擇mysql存儲引擎的標準》要點:
本文介紹了Mysql學習淺談選擇mysql存儲引擎的標準,希望對您有用。如果有疑問,可以聯系我們。
主要存儲引擎的介紹MYSQL入門
1、InnoDB存儲引擎
MYSQL入門
InnoDB是MySQL的默認事務型引擎,它被設計用來處理大量的短期(short-lived)事務.除非有非常特別的原因需要使用其他的存儲引擎,否則應該優先考慮InnoDB引擎.
建議使用MySQL5.5及以后的版本,因為這個版本及以后的版本的InnoDB引擎性能更好.
MySQL4.1以后的版本中,InnoDB可以將每個表的數據和索引存放在單獨的文件中.這樣在復制備份崩潰恢復等操作中有明顯優勢.可以通過在my.cnf中增加innodb_file_per_table來開啟這個功能.如下:
?
InnoDB采用MVCC來支持高并發,并且實現了四個標準的隔離級別.其默認級別是REPEATABLE READ(可重復讀),并且通過間隙鎖(next-key locking)策略防止幻讀的出現.(事務和事務隔離級別是另一個大題目,各自網補吧).
?
InnoDB是基于聚簇索引建立的,聚簇索引對主鍵查詢有很高的性能.不過它的二級索引(secondary index,非主鍵索引)中必須包括主鍵列,所以如果主鍵列很大的話,其他的所有索引都會很大.因此表上的索引較多的話,主鍵應當盡可能的小.
?
InnoDB的存儲格式是平臺獨立的,可以將數據和索引文件從Intel平臺復制到Sun SPARC平臺或其他平臺.
?
InnoDB通過一些機制和工具支持真正的熱備份,MySQL的其他存儲引擎不支持熱備份.
?
MYSQL入門
2、MyISAM存儲引擎
MYSQL入門
MyISAM提供了大量的特性,包括全文索引、壓縮、空間函數(GIS)等,但MyISAM不支持事務和行級鎖,有一個毫無疑問的缺陷就是崩潰后無法平安恢復.
?
MyISAM會將表存儲在兩個文件在中:數據文件和索引文件,分別是.MYD和.MYI為擴展名.
在MySQL5.0以前,只能處理4G的數據,5.0中可以處理256T的數據.
?
在數據不再進行修改操作時,可以對MyISAM表進行壓縮,壓縮后可以提高讀能力,原因是減少了磁盤I/O.
?
MYSQL入門
3、Archive引擎
MYSQL入門
Archive存儲引擎只支持INSERT和SELECT操作,在MySQL5.1之前不支持索引.
Archive表適合日志和數據采集類應用.
Archive引擎支持行級鎖和專用的緩存區,所以可以實現高并發的插入,但它不是一個事物型的引擎,而是一個針對高速插入和壓縮做了優化的簡單引擎.MYSQL入門
幾個常用存儲引擎的特點MYSQL入門
下面我們重點介紹幾種常用的存儲引擎并對比各個存儲引擎之間的區別和保舉使用方式.MYSQL入門
?MYSQL入門
最常使用的2種存儲引擎:
Myisam是Mysql的默認存儲引擎.當create創建新表時,未指定新表的存儲引擎時,默認使用Myisam.每個MyISAM在磁盤上存儲成三個文件.文件名都和表名相同,擴展名分別是.frm(存儲表定義)、.MYD (MYData,存儲數據)、.MYI (MYIndex,存儲索引).數據文件和索引文件可以放置在不同的目錄,平均分布io,獲得更快的速度.??
InnoDB存儲引擎提供了具有提交、回滾和崩潰恢復能力的事務平安.但是對比Myisam的存儲引擎,InnoDB寫的處理效率差一些并且會占用更多的磁盤空間以保留數據和索引.MYSQL入門
如何選擇合適的存儲引擎MYSQL入門
選擇標準:根據應用特點選擇合適的存儲引擎,對于復雜的應用系統可以根據實際情況選擇多種存儲引擎進行組合.MYSQL入門
下面是常用存儲引擎的適用環境:
MyISAM:默認的MySQL插件式存儲引擎,它是在Web、數據倉儲和其他應用環境下最常使用的存儲引擎之一
InnoDB:用于事務處理應用程序,具有眾多特性,包括ACID事務支持.
Memory:將所有數據保存在RAM中,在需要快速查找引用和其他類似數據的環境下,可提供極快的拜訪.
Merge:允許MySQL DBA或開發人員將一系列等同的MyISAM表以邏輯方式組合在一起,并作為1個對象引用它們.對于諸如數據倉儲等VLDB環境十分適合.MYSQL入門
以上便是本文的全部內容,希望大家能夠喜歡.MYSQL入門
維易PHP培訓學院每天發布《Mysql學習淺談選擇mysql存儲引擎的標準》等實戰技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養人才。