數據文件 ISD(ISAM)
或MYD(MyISAM) 包含數據文件上的所有索引的索引樹
索引文件 ISM(ISAM)
或MYI(MyISAM) 該索引文件依賴表是否有索引而存在
當你發出一條CREATE TABLE tbl_name時語句定義表的結構時服務器創建一個名為tbl_namefrm的文件它包括該結構的內部編碼同時也創建一個空數據和索引文件初始化為包含指出無記錄和無索引的信息(如果CREATE TABLE語句包括索引指定索引文件反映出這些索引)對應於表的文件的屬主和模式被設置為只允許MySQL服務器用戶訪問
當你發出一條ALTER TABLE tbl_name語句時服務器重新編碼tbl_namefrm並修改數據和索引文件的內容以反映語句指定的結構改變對於CREATE INDEX和DROP INDEX也是一樣因為它們被服務器視為與ALTER TABLE等價DROP TABLE通過刪除對應於表的三個文件來實現
雖然你可以通過刪除數據庫目錄中對應於表的三個文件但不能手工創建或修改一個表如果my_db是當前數據庫DROP TABLE my_tbl大概等價於下列命令
% rm rf DATADIR/my_db/my_tbl*
SHOW TABLE my_db的輸出只是列出my_db數據庫目錄中的frm文件的基文件名有些數據庫系統一個注冊表列舉所有包含在一個數據庫中的表MySQL不是因為不必要注冊表隱含在數據目錄的結構中
操作系統對數據庫和表命名的限制
MySQL對命名數據庫和表有一個原則
名字可以由當前字符集中的任何字母數字字符組成下劃線和美元符$也可以
[] [] [] [] [] [] [] [] [] []
From:http://tw.wingwit.com/Article/program/MySQL/201311/29761.html