MyISAM類型不支持事務(wù)處理等高級處理,而InnoDB類型支持况凉。 MyISAM類型的表強調(diào)的是性能谚鄙,其執(zhí)行數(shù)度比InnoDB類型更快,但是不提供事務(wù)支持刁绒,而InnoDB提供事務(wù)支持已經(jīng)外部鍵等高級數(shù)據(jù)庫功能闷营。這 樣就可以根據(jù)數(shù)據(jù)表不同的用處是用不同的存儲類型。
另外知市,MyISAM類型的二進制數(shù)據(jù)文件可以在不同操作系統(tǒng)中遷移傻盟。也就是可以直接從Windows系統(tǒng)拷貝到linux系統(tǒng)中使用。
修改: ALTER TABLE tablename ENGINE = MyISAM 嫂丙;
MyISAM:這個是默認(rèn)類型,它是基于傳統(tǒng)的ISAM類型,ISAM是Indexed Sequential Access Method (有索引的 順序訪問方法) 的縮寫,它是存儲記錄和文件的標(biāo)準(zhǔn)方法.與其他存儲引擎比較,MyISAM具有檢查和修復(fù)表格的大多數(shù)工具. MyISAM表格可以被壓縮,而且它們支持全文搜索.它們不是事務(wù)安全的,而且也不支持外鍵娘赴。如果事物回滾將造成不完全回滾,不具有原子性跟啤。如果執(zhí)行大量 的SELECT诽表,MyISAM是更好的選擇。
InnoDB:這種類型是事務(wù)安全的.它與BDB類型具有相同的特性,它們還支持外鍵.InnoDB表格速度很快.具有比BDB還豐富的特性,因此如果需要一個事務(wù)安全的存儲引擎,建議使用它.如果你的數(shù)據(jù)執(zhí)行大量的INSERT或UPDATE,出于性能方面的考慮隅肥,應(yīng)該使用InnoDB表,
對于支持事物的InnoDB類型的標(biāo)竿奏,影響速度的主要原因是AUTOCOMMIT默認(rèn)設(shè)置是打開的,而且程序沒有顯式調(diào)用BEGIN 開始事務(wù)腥放,導(dǎo)致每插入一條都自動Commit泛啸,嚴(yán)重影響了速度∽狡可以在執(zhí)行sql前調(diào)用begin平痰,多條sql形成一個事物(即使autocommit打 開也可以)汞舱,將大大提高性能伍纫。
創(chuàng)建表時如果不指定type則默認(rèn)為myisam,不支持事務(wù)昂芜。
可以用 show create table tablename 命令看表的類型莹规。
轉(zhuǎn)自 https://blog.csdn.net/feng88724/article/details/6829416