MySql 存储引擎

发布时间 2023-10-10 17:12:48作者: harper886

MySql 存储引擎

MySQL体系结构

  • 连接层
  • 服务层
  • 引擎层
  • 存储层

image-20231010163120341

不同引擎索引(index)实现方式不同.

image-20231010163146351

存储引擎简介

引擎没有好坏之分

存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式。存储引擎是基于表的,而不是基于库的,所以存储引擎也可被
称为表类型。

image-20231010164218623

指定储存引擎

# 查询建表语句  默认储存引擎 :InnoDB
show create table admin;

# 查询当前数据库支持的存储引擎
show engines ;
-- 创建表my_myisam,并指定MyISAM存储引擎
create table  my_myisam
(
    id   int,
    name varchar(10)
)engine =MyISAM;
show create table my_myisam;

# 创建表my_memory,指定Memory存储引擎
create table my_memory
(
    id int,
    name varchar(10)

)engine =Memory;
show create table my_memory;

InnoDB储存引擎的特点

image-20231010165021266

InnoDB的逻辑结构

image-20231010165335939

MyISM存储引擎特点

image-20231010165702989

Memory存储引擎特点

只有sdi存储表结构数据

image-20231010165822755

三个存储之间的区别

image-20231010165926144

  • InnoDB支持事务,MyISAM不支持事务
  • InnoDB支持行锁和表锁,MyISAM只支持表锁
  • InnoDB支持外键,MyISAM不支持外键

存储引擎的选择

image-20231010170423877

绝大多数场景都使用的是InnoDB引擎.

总结

image-20231010170910853