MySQL是一種常見的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),默認(rèn)使用的數(shù)據(jù)庫文件后綴名為 .frm、.MYI、.MYD 三種文件,它們分別代表了表結(jié)構(gòu)定義文件、索引文件、數(shù)據(jù)文件。
.frm 文件是表的定義文件,其中包含了表名、列名、列數(shù)據(jù)類型、長度等信息,這些信息被描述成為一個稱為數(shù)據(jù)字典的文件。MySQL可以通過該文件讀取表定義并創(chuàng)建并修改表結(jié)構(gòu)。
CREATE TABLE `user` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `username` varchar(50) NOT NULL DEFAULT '', `password` char(32) NOT NULL DEFAULT '', `email` varchar(50) NOT NULL DEFAULT '', `is_admin` tinyint(1) NOT NULL DEFAULT '0', `status` tinyint(4) NOT NULL DEFAULT '0', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `delete_time` datetime DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
.MYI 文件包含了表的索引信息,索引用于優(yōu)化查詢效率,可以加速查找數(shù)據(jù)的速度。當(dāng)表中的數(shù)據(jù)發(fā)生變化時,數(shù)據(jù)庫會自動重建索引文件。
.MYD 文件是表的數(shù)據(jù)文件,其中包含了所有的表記錄和數(shù)據(jù)內(nèi)容。只有當(dāng)數(shù)據(jù)被修改或插入新數(shù)據(jù)時,MySQL 才會更新數(shù)據(jù)文件。在表發(fā)生錯誤或損壞時,可能會使用數(shù)據(jù)文件來恢復(fù)數(shù)據(jù)。
總的來說,.frm、.MYI、.MYD 三種文件共同組成了 MySQL 數(shù)據(jù)庫,并為 MySQL 提供了基礎(chǔ)數(shù)據(jù)存儲及操作功能。
上一篇mysql定時更新