myisam是mysql5.1版本前的默認存儲引擎。它基于更老的ISAM代碼,但有很多有用的擴展。每個MyISAM在磁盤上存儲成三個文件,每一個文件的名字以表的名字開始,擴展名指出文件類型。
myisam介紹
(推薦教程:mysql教程)
MyISAM是默認存儲引擎(Mysql5.1版本前)。它基于更老的ISAM代碼,但有很多有用的擴展。(注意MySQL 5.1不支持ISAM)。 每個MyISAM在磁盤上存儲成三個文件,每一個文件的名字均以表的名字開始,擴展名指出文件類型。
詳細介紹
要明確表示你想要用一個MyISAM表格,請用ENGINE表選項指出來:
CREATE?TABLE?t?(i?INT)?ENGINE?=?MYISAM;
注釋:老版本的MySQL使用TYPE而不是ENGINE(例如,TYPE = MYISAM)。MySQL 5.1為向下兼容而支持這個語法,但TYPE現(xiàn)在被輕視,而ENGINE是首先的用法。
一般地,ENGINE選項是不必要的;除非默認已經(jīng)被改變了,InnoDB是默認存儲引擎(Mysql 5.1后)。
MyISAM存儲引擎的一些特征
1、所有數(shù)據(jù)值先存儲低字節(jié)。
這使得數(shù)據(jù)機和操作系統(tǒng)分離。二進制輕便性的唯一要求是機器使用補碼(如最近20年的機器有的一樣)和IEEE浮點格式(在主流機器中也完全是主導的)。唯一不支持二進制兼容性的機器是嵌入式系統(tǒng)。這些系統(tǒng)有時使用特殊的處理器。
先存儲數(shù)據(jù)低字節(jié)并不嚴重地影響速度;數(shù)據(jù)行中的字節(jié)一般是未聯(lián)合的,從一個方向讀未聯(lián)合的字節(jié)并不比從反向讀更占用更多的資源。服務器上的獲取列值的代碼與其它代碼相比并不顯得時間緊。
2、大文件(達63位文件長度)在支持大文件的文件系統(tǒng)和操作系統(tǒng)上被支持。
3、當把刪除和更新及插入混合的時候,動態(tài)尺寸的行更少碎片。這要通過合并相鄰被刪除的塊,以及若下一個塊被刪除,就擴展到下一塊來自動完成。