什么是存储引擎
(Orical中有对应的机制)
1.存储引擎:表在数据库当中的存储方式,每一个存储引擎都有优缺点,需要判断使用合适的存储引擎。
先看一个例子:
//显示创建emp表的sql语句
SHOW create TABLE emp
2.查看当前mysql支持的存储引擎
SHOW ENGINES
3.常见的存储引擎
1.InnoDB(数据的安全有保障)
默认的存储引擎:InnoDB
表的结构存储在xxx.frm文件中
数据存储在tablespace这样的表空间中(逻辑概念),无法被压缩,无法转换成只读
- 支持事务
- 行级锁
- 支持外键及引用的完整性,包括级联删除和更新
- mysql服务器崩溃提供自动恢复
- 提供ACID兼容
2.MyISAM
是mysql最常用的引擎(不支持事务)。具有以下特征:
使用三个文件表示每个表:
- 使用三个文件表示每个表:
- 格式文件-存储表结构的定义(mytable.frm)
- 数据文件-存储表行的内容(mytable.MYD)
- 索引文件-存储表上索引(mytable.MYI)
优点:可被压缩,节省存储空间。并且可以转换为只读表,提高检索效率
缺点:不支持事务
3.MEMORY
具有以下特征:
- 表数据及索引被存储在内存当中
- 数据容易丢失
- 查询速度最快
- 表级锁机制