存储引擎
是存储数据,建立索引,更新,查询数据等技术的实现方式 存储引擎是基于表层次的,所以也可以算作表类型 MYSQL有很多存储引擎,不存在最好的操作引擎,各种引擎适用于不同的数据存储场合 如果在建立表的时候没有指定存储引擎,则会选择默认引擎:InnoDB
指定存储引擎
sql
create table 表名称 (
... ...
...
)engine = 引擎名称;查看SQL当前可使用引擎
sql
show engines;存储引擎特点
InnoDB:兼顾高性能和高可靠性
DML操作遵循ACID模型,支持事务 行级锁,提高并发性能 支持外键FOREIGN KEY约束,保证数据完整性和可靠性 会创建 表名.ibd 文件,存储表结构,数据,索引
MyISAM:早期的默认引擎
不支持事务,不支持外键。 支持表锁,不支持行锁 访问速度快 会创建 .MYD .MYI .sdi .MYD 存储数据 .MYI 存储索引 .sdi 存储表结构和信息
Memory:此引擎将数据存放在内存中,所以断电后数据会丢失,所以只能作为临时表使用
访问速度快 支持hash索引 创建 .sdi 文件 存放表结构信息
引擎选择
对事务的完整性要求较高,在并发情况下要求数据一致的情况下选择InnoDB 对数据的插入和读取为主:MyISAM 访问速度快,存储数据量小:Memory