第05章_存储引擎
创始人
2024-03-13 13:17:40
0

第05章_存储引擎

  • 1. 查看存储引擎
  • 2. 设置系统默认的存储引擎
  • 3. 设置表的存储引擎
    • 3.1 创建表时指定存储引擎
    • 3.2 修改表的存储引擎
  • 4. 引擎介绍
    • 4.1 InnoDB 引擎:具备外键支持功能的事务存储引擎
    • 4.2 MyISAM 引擎:主要的非事务处理存储引擎
    • 4.3 Archive 引擎:用于数据存档
    • 4.4 Blackhole 引擎:丢弃写操作,读操作会返回空内容
    • 4.5 CSV 引擎:存储数据时,以逗号分隔各个数据项
    • 4.6 Memory 引擎:置于内存的表
  • 5. MyISAM和InnoDB
  • 6. 阿里巴巴、淘宝用哪个

在这里插入图片描述

1. 查看存储引擎

查看mysql提供什么存储引擎:

show engines;
show engines \G;

2. 设置系统默认的存储引擎

查看默认的存储引擎:

show variables like '%storage_engine%'; #或
SELECT @@default_storage_engine;

修改默认的存储引擎
如果在创建表的语句中没有显式指定表的存储引擎的话,那就会默认使用 InnoDB 作为表的存储引擎。 如果我们想改变表的默认存储引擎的话,可以这样写启动服务器的命令行:


SET DEFAULT_STORAGE_ENGINE=MyISAM;

或者修改 my.cnf 文件:

default-storage-engine=MyISAM
# 重启服务
systemctl restart mysqld.servic

3. 设置表的存储引擎

存储引擎是负责对表中的数据进行提取和写入工作的,我们可以为 不同的表设置不同的存储引擎 ,也就是说不同的表可以有不同的物理存储结构,不同的提取和写入方式。

3.1 创建表时指定存储引擎

我们之前创建表的语句都没有指定表的存储引擎,那就会使用默认的存储引擎 InnoDB 。如果我们想显
式的指定一下表的存储引擎,那可以这么写:

CREATE TABLE 表名( 建表语句;
) ENGINE = 存储引擎名称;

3.2 修改表的存储引擎

如果表已经建好了,我们也可以使用下边这个语句来修改表的存储引擎:

ALTER TABLE 表名 ENGINE = 存储引擎名称;
mysql> SHOW CREATE TABLE engine_demo_table\G 
*************************** 1. row ***************************
Table: engine_demo_table
Create Table: CREATE TABLE `engine_demo_table` (
`i` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 1 row in set (0.01 sec)

4. 引擎介绍

4.1 InnoDB 引擎:具备外键支持功能的事务存储引擎

在这里插入图片描述

4.2 MyISAM 引擎:主要的非事务处理存储引擎

在这里插入图片描述

4.3 Archive 引擎:用于数据存档

在这里插入图片描述

在这里插入图片描述

4.4 Blackhole 引擎:丢弃写操作,读操作会返回空内容

在这里插入图片描述

4.5 CSV 引擎:存储数据时,以逗号分隔各个数据项

在这里插入图片描述

使用案例如下

mysql> CREATE TABLE test (i INT NOT NULL, c CHAR(10) NOT NULL) ENGINE = CSV; Query OK, 0 rows affected (0.06 sec)
mysql> INSERT INTO test VALUES(1,'record one'),(2,'record two'); Query OK, 2 rows affected (0.05 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> SELECT * FROM test; +---+------------+
|i|c | +---+------------+
| 1 | record one |
| 2 | record two | +---+------------+
2 rows in set (0.00 sec)

在这里插入图片描述

4.6 Memory 引擎:置于内存的表

在这里插入图片描述
在这里插入图片描述

5. MyISAM和InnoDB

在这里插入图片描述
在这里插入图片描述

6. 阿里巴巴、淘宝用哪个

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关内容

热门资讯

AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWR报告解读 WORKLOAD REPOSITORY PDB report (PDB snapshots) AW...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
群晖外网访问终极解决方法:IP... 写在前面的话 受够了群晖的quickconnet的小水管了,急需一个新的解决方法&#x...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
Azure构建流程(Power... 这可能是由于配置错误导致的问题。请检查构建流程任务中的“发布构建制品”步骤,确保正确配置了“Arti...