mysql資料庫優化 儲存引擎的選擇

2021-08-04 18:55:56 字數 896 閱讀 1831

一、mysql 儲存引擎包括 myisam、innodb 、bdb、memory 、csv 等等, 其中innodb和bdb 提供事務安全表, 其它儲存引擎都是非事務安全表。

最常用的兩種儲存引擎

1、myisam 是mysql 的預設儲存引擎,當建立新錶時,未指定儲存引擎則預設是myisam.

每個myisam在磁碟上儲存成三個檔案。檔名和表名相同,副檔名分別為.frm(儲存表定義), .myd(mydata, 儲存資料)、 .myi(myindex, 儲存索引)。資料檔案和索引檔案可以放在不同的位置,平均分布io 獲得更快的速度。

2、innodb 儲存引擎提供了具有提交、回滾和崩潰恢復能力的事務安全。但是對比 myisam的儲存引擎,innodb 寫的處理效率差一些並且會占用更多的磁碟空間以保留資料和索引。

二、選擇合適的儲存引擎

選擇標準: 根據應用特點擊擇合適的儲存引擎,對於複雜的應用系統可以根據實際情況選擇多種儲存引擎進行組合. 下面是常用儲存引擎的適用環境:

1. myisam:預設的 mysql 外掛程式式儲存引擎,它是在 web、資料倉儲和其他應用環境下最常使用的儲存引擎之一

2. innodb:用於事務處理應用程式,具有眾多特性,包括 acid 事務支援。b 樹索引 支援雜湊索引 支援 支援全文索引 支援集群索引 支援資料快取 支援 支援索引快取 支援 支援 支援資料可壓縮 支援 支援空間使用 低 低 n/a 高 非常低記憶體使用 低 低 中等 高 低批量插入的速度 高 高 高 低 非常高支援外來鍵 

3. memory:將所有資料儲存在 ram 中,在需要快速查詢引用和其他類似資料的環境下,可提供極快的訪問。

4. merge:允許 mysql dba 或開發人員將一系列等同的 myisam 表以邏輯方式組合在一起,並作為 1 個物件引用它們。對於諸如資料倉儲等 vldb 環境十分適合。

Mysql資料庫優化之儲存引擎介紹

myisam儲存引擎 innodb儲存引擎 memory儲存引擎 merge儲存引擎 指定儲存引擎的指令碼 在建立表的指令碼的結束前加engine innodb myisam儲存引擎不支援事務,也不支援外來鍵。但是它的優勢是訪問速度快,對事務完整性沒有要求或者以select insert為主的應用基...

MySQL資料庫效能優化 儲存引擎選擇

mysql 的儲存引擎可能是所有關係型資料庫產品中最具有特色的了,不僅可以同時使用多種儲存引擎,而且每種儲存引擎和mysql之間使用外掛程式方式這種非常松的耦合關係。由於各儲存引擎功能特性差異較大,這篇文章主要是介紹如何來選擇合適的儲存引擎來應對不同的業務場景。innodb ndbcluster 注...

Mysql資料庫儲存引擎

儲存引擎是什麼?mysql中的資料用各種不同的技術儲存在檔案 或者記憶體 中。這些技術中的每一種技術都使用不同的儲存機制 索引技巧 鎖定水平並且最終提供廣泛的不同的功能和能力。通過選擇不同的技術,你能夠獲得額外的速度或者功能,從而改善你的應用的整體功能。例如,如果你在研究大量的臨時資料,你也許需要使...