MyISAM和InnoDB的區別

2021-10-06 08:31:47 字數 489 閱讀 6444

1.mysql 5.5之後預設的搜尋引擎是innodb,5.5之前是myisam

2.myisam查詢速度快,innodb update和innsert速度快

3.myisam是表級鎖,innodb是行級鎖,插入資料時,myisam鎖住整張表,所以當大量讀寫操作時不適合用myisam,而innodb只影響當前行

4.innodb支援事務,myisam不支援事務。所以大型專案時要選擇innodb,小型專案選擇myisam即可

5.儲存結構:

myisam: 

每個myisam在磁碟上儲存成三個檔案。第乙個檔案的名字以表的名字開始,副檔名指出檔案型別

.frm檔案儲存表定義

資料檔案的擴充套件名為.myd (mydata)

索引檔案的副檔名是.myi (myindex)

innodb:

基於磁碟的資源是innodb表空間資料檔案和它的日誌檔案,innodb 表的大小只受限於作業系統檔案的大小,一般為 2gb

MySQL中MyISAM與InnoDB區別

mysql中myisam與innodb區別 myisam innodb 事物處理 不支援支援 外來鍵不支援 支援行鎖 不支援支援 全文索引 支援不支援 表的具體行數 儲存表的具體行數 掃瞄表來計算行數 delete表時 先drop表,然後重建表 一行一行的刪除 索引和資料 分開的,並且索引是有壓縮的...

MySQL中MyISAM與InnoDB區別及選擇

innodb 支援事務處理等 不加鎖讀取 支援外來鍵 支援行鎖 不支援fulltext型別的索引 不儲存表的具體行數,掃瞄表來計算有多少行 delete 表時,是一行一行的刪除 innodb 把資料和索引存放在表空間裡面 跨平台可直接拷貝使用 innodb中必須包含auto increment型別欄...

MySQL中MyISAM與InnoDB區別及選擇

支援事務處理等 不加鎖讀取 支援外來鍵 支援行鎖 不支援fulltext型別的索引 不儲存表的具體行數,掃瞄表來計算有多少行 delete 表時,是一行一行的刪除 innodb 把資料和索引存放在表空間裡面 跨平台可直接拷貝使用 innodb中必須包含auto increment型別欄位的索引 很難...