MySql存儲引擎

*客官今早小二給你們更博了,本文閱讀須要4.4分鐘,不要爲了讀文章而讀文章(要去思考)。性能

MyISAM儲存引擎

默認MyISAM的表會在磁盤中產生3個文件

  • .frm表結構文件
  • .MYD表數據文件
  • .MYI表索引文件

在建立表的時候能夠指定數據文件位置和索引文件位置,只有MyISAM表支持。

  • DATA DIRECORY[=]數據保存的絕對路徑
  • DATA DIRCORY[=]索引文件保存的絕對路徑

MyISAM表最大支持數據量是2的64次方記錄

每一個表最多能夠創建64個索引

若是是符合索引每個表最多包含16個列,索引值最大值是1000B

引擎儲存格式

定長(FIXD靜態)

  • 是指字段中不包含VARCHAR/TEXT/BLOB

動態(DYNAMIC)

  • 只要字段中包含VARCHAR/TEXT/BLOB

壓縮(COMPRESSED)

  • myisampack創鍵

InnoDB存儲引擎

  • 設置遵循ACID模型,支持事物具備從服務崩潰中恢復的能力。可以最大限度保護用戶數據
  • 支持行級鎖,提升用戶並讀寫能力
  • 支持外鍵,保持數據的完整性和一致性
  • InnoDB擁有本身獨立緩衝池,經常使用的數據和索引都在池中
  • 對於INSERT UPTATE DELETE 操做,InooDB會用一種change buffering的機制來自動優化,還能夠提供一致的讀,而且能夠緩衝更多的數據,減小磁盤I/O,提升性能

建立表後會產生兩個文件

  • .frm表結構文件
  • .ibd表的數據和索引存儲表空間

所用的表都要建立主鍵,最好寫上AUTO_INCREMENT,也能夠放在常常查詢的列做爲主鍵

相關文章
相關標籤/搜索