在文件系統中,MySQL會把每個數據庫保存爲數據目錄下的一個子目錄。當創建一個表時,MySQL會在和表同名的、以.frm爲後綴的文件中存儲表的定義。
MySQL的存儲引擎對錶數據和索引的存儲方式不同;表定義是由MySQL Server獨立處理。
查看某張表使用的是哪種存儲引擎:
mysql> show table status like 'user'\G *************************** 1. row *************************** Name: user#表名 Engine: MyISAM#存儲引擎 Version: 10 Row_format: Dynamic#行格式,對於MyISAM,這裏可能的值是Dynamic、Fixed、Compressed。 Rows: 9 Avg_row_length: 84#平均每行包含的字節數 Data_length: 756#整個表的包含的字節數 Max_data_length: 281474976710655#表可以容納的字節數 Index_length: 2048#索引數據佔用磁盤空間的大小 Data_free: 0 Auto_increment: NULL Create_time: 2013-06-06 18:06:18 Update_time: 2013-06-06 18:10:52 Check_time: NULL#使用check table命令或myisamchk工具檢測表時的最近檢查時間。 Collation: utf8_bin Checksum: NULL Create_options: #創建表時的其他所有選項 Comment: Users and global privileges 1 row in set (0.00 sec)
1、MyISAM:
MyISAM將每個表存儲成2個文件:數據文件(以.MYD結尾的文件)和索引文件(以.MYI結尾的文件)。
用戶使用MyISAM存儲引擎可以在不同的架構服務器上毫無問題的相互拷貝數據文件和索引文件。
MyISAM表可以包含:動態表和靜態表。