存被用引擎在mysql中特有,是一个表存储或组织数据的方式。
可以采用如下命令查看某个表的创建命令:
show create table account;
或在可视化数据库操作软件中查看(这里是Navicat16侧栏查看的DDL创建语句) :
可见,MySQL默认的存储引擎(ENGINE)是 InnoDB。也可以自己指定,在()后ENGINE=xxx。
下面的命令查看MySQL支持的存储引擎:
show engines \G
发现有九大存储引擎,其中常用的如下:
MyISAM:它管理的表的特点是采用三个文件表示一个表
1、格式文件:存储表结构的定义(.frm或.sdi)
2、数据文件:存储表行的数据内容(.MYD)
3、索引文件:存储表上索引(.MYI)
采用灵活的AUTO INCREMENT字段处理
可被转换为压缩、只读表来节省空间(优点)
这里创建test数据库中的test_engine表为示例:
可以看到在data\test\中的三个文件,就是采用MyISAM存储引擎的表的三个文件:
InnoDB:特点是十分安全,也是重量级的。因为支持事务,支持在数据库崩溃后自动恢复机制。
而它与MyISAM最大的区别是MyISAM不支持事务,不安全。
每个InnoDB表在数据库目录中以.frm(或.idb)格式文件展示
InnoDB表空间tablespace被用于存储表的内容(表空间tablespace是一个逻辑名称,存储数据和索引)