mysql 儲存引擎簡介
阿新 • • 發佈:2018-11-06
打個比方,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講解