存储引擎决定了表的存储方式,
查看当前使用的存储引擎
1.show create table 表名
2.show engines
建表的时候可以指定存储引擎和字符集
存储引擎这个名字只在mysql中存在。(oracle中没有特殊的名字,就叫表的存储方式
)
MyISAM:采用三个文件来存储一张表(表结构frm,表数据fYD,表索引mYI)。
优点:可被压缩节省空间,并且可转为只读表,提高检索效率
缺点:不支持事务和外键
InnoDB:mysql默认缺省的存储引擎。表结构存储在xxx.frm文件中,表数据存储在tablespace空间中(逻辑概念)
优点:支持事务,行级锁,外键。在mysql数据库崩溃后提供自动恢复机制
缺点:无法被压缩,无法转换成只读表。较myisam占空间
MEMORY:数据存储在内存中。表结构以.frm格式的文件存在,表数据和索引存储在内存中。
优点:查询速度最快
缺点:不支持事务,数据容易丢失。