26-进阶SQL-存储引擎

发布时间 2023-12-09 10:31:11作者: 马铃薯1

注意:数据库中经常会用到的索引就在引擎层

 

 

案例:创建 账户表(熟悉存储引擎)

CREATE TABLE account(
    id int auto_increment primary key comment "主键ID",
    name varchar(10) comment "姓名",
    money int comment "余额"
) comment "账户表";

INSERT INTO account(id, name, money)
VALUES
(null, "张三", 2000),
(null, "李四", 2000);

1)查询建表语句(DDL-数据定义语言的内容)

-- 查询建表语句
SHOW CREATE TABLE account;

ENGINE = InnoDB:没有指定存储引擎时,默认的存储引擎为InnoDB

AUTO_INCREMENT:id是自增的,并且下一条的id为3

DEFAULT CHARSET:当前表的字符集默认为utf8mb4

COLLATE :当前表的排序方式为utf8mb4_general_ci

2)查询当前数据库支持的存储引擎(常用的数据引擎就是InnoDB)

-- 查询当前数据库支持的存储引擎
SHOW ENGINES;

3)创建表 my_myisam,并指定 MyISAM存储引擎

-- 创建表 my_myisam,并指定 MYISAM存储引擎
CREATE TABLE my_myisam(
    id int,
    name varchar(10)
) ENGINE = MyISAM;

-- 查询建表语句
SHOW CREATE TABLE my_myisam;

 

InnoDB存储引擎(最常用的存储引擎)

InnoDB逻辑存储结构

 从图中可以看到,一个区Extent的大小是固定的1M,一个页Page的大小也是固定的16K,也就是说一个区Extent中可以包含64个页Page。

 

MyISAM存储引擎

 

Memory存储引擎