1. 程式人生 > >mysql 儲存引擎簡介

mysql 儲存引擎簡介


打個比方,avi,mp4作為兩種視訊格式, 佔用系統的空間大小和清晰度也不一樣。

同樣的,資料庫表的資料儲存在資料庫裡及在上述的視訊格式一樣,也存在多種儲存方式。

但是,對於使用者和應用程式來說同樣一張表的資料,無論用什麼引擎來儲存,使用者看到的資料都是一樣的。
不同的引擎存取,引擎功能,佔用的空間大小,讀取效能等可能有區別。

mysql最常用的儲存引擎為:Myisam和Innodb。具體的體系結構如下:

 

mysql 5.5.5之前預設的儲存引擎是Myisam. 在新版本的mysql中,InnoDB引擎由於其對事務的參照完整性,以及更高的併發性等優點逐漸取代MyISAM引擎。

每個MyISAM表都對應硬碟上的三個檔案。這三個檔案有相同的檔名,只是字尾不同。其中.frm儲存資料表的定義,這個檔案並不是MyISAM引擎的一部分,而是伺服器的一部分。.MYD儲存表的資料;.MYI是表的索引檔案。.MYD和.MYI是MyISAM的關鍵點。

[[email protected] mysql]# file user.MYD
user.MYD: DBase 3 data file (167514111 records)
[[email protected] mysql]# file user.MYI
user.MYI: MySQL MISAM compressed data file Version 1
[
[email protected]
mysql]# file user.frm user.frm: MySQL table definition file Version 9

 可以看到mysql系統表使用的引擎是MyISAM.

各個儲存引起的比較如下:

參考:

mysql 5.1 中文手冊

老男孩mysql講解