国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

淺談選擇mysql存儲引擎的標準

2024-07-24 12:45:46
字體:
來源:轉載
供稿:網友

主要存儲引擎的介紹

1、InnoDB存儲引擎

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的其他存儲引擎不支持熱備份。
 

2、MyISAM存儲引擎

MyISAM提供了大量的特性,包括全文索引、壓縮、空間函數(GIS)等,但MyISAM不支持事務和行級鎖,有一個毫無疑問的缺陷就是崩潰后無法安全恢復。
 
MyISAM會將表存儲在兩個文件在中:數據文件和索引文件,分別是.MYD和.MYI為擴展名。
在MySQL5.0以前,只能處理4G的數據,5.0中可以處理256T的數據。
 
在數據不再進行修改操作時,可以對MyISAM表進行壓縮,壓縮后可以提高讀能力,原因是減少了磁盤I/O。
 

3、Archive引擎

Archive存儲引擎只支持INSERT和SELECT操作,在MySQL5.1之前不支持索引。
Archive表適合日志和數據采集類應用。
Archive引擎支持行級鎖和專用的緩存區,所以可以實現高并發的插入,但它不是一個事物型的引擎,而是一個針對高速插入和壓縮做了優化的簡單引擎。

幾個常用存儲引擎的特點

下面我們重點介紹幾種常用的存儲引擎并對比各個存儲引擎之間的區別和推薦使用方式。

 

最常使用的2種存儲引擎:
Myisam是Mysql的默認存儲引擎。當create創建新表時,未指定新表的存儲引擎時,默認使用Myisam。每個MyISAM在磁盤上存儲成三個文件。文件名都和表名相同,擴展名分別是.frm(存儲表定義)、.MYD (MYData,存儲數據)、.MYI (MYIndex,存儲索引)。數據文件和索引文件可以放置在不同的目錄,平均分布io,獲得更快的速度。  

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 荥阳市| 普安县| 尼勒克县| 通山县| 仙桃市| 江山市| 奉节县| 休宁县| 仁布县| 乌拉特前旗| 泊头市| 辽中县| 合水县| 双流县| 镇赉县| 巴东县| 宣恩县| 邵武市| 印江| 德格县| 临沂市| 建瓯市| 黄冈市| 普兰县| 宁武县| 抚顺市| 南和县| 丹阳市| 宁蒗| 晋中市| 咸阳市| 潢川县| 诸暨市| 曲靖市| 仪陇县| 靖西县| 舟曲县| 牙克石市| 平乡县| 巴彦淖尔市| 济阳县|