靜態格式是MyISAM表的默認存儲格式。當表不包含變量長度列(VARCHAR, BLOB, 或TEXT)時,使用這個格式。每一行用固定字節數存儲。
MyISAM的三種存儲格式中,靜態格式就最簡單也是最安全的(至少對於崩潰而言)。靜態格式也是最快的on-disk格式。快速來自於數據文件中的行在磁盤上被找到的容易方式:當按照索引中的行號查找一個行時,用行長度乘以行號。同樣,當掃描一個表的時候,很容易用每個磁盤讀操作讀一定數量的記錄。
當MySQL服務器正往一個固定格式MyISAM文件寫的時候,如果計算機崩潰了,安全是顯然的。在這種情況下,myisamchk可以容易地決定每行從哪裡開始到哪裡結束,所以它通常可以收回所有記錄,除了寫了一部分的記錄。注意,基於數據行,MyISAM表索引可以一直被重新構建。
靜態格式表的一般特征:
· CHAR列對列寬度是空間填補的。
· 非常快。
· 容易緩存。
· 崩潰後容易重建,因為記錄位於固定位置。
· 重新組織是不必要的,除非你刪除巨量的記錄並且希望為操作系統騰出磁盤空間。為此,可使用OPTIMIZE TABLE或者myisamchk -r。
· 通常比動態格式表需要更多的磁盤空間。