mysql数据库 | 数据库引擎简述
发布日期:2022-02-21 17:40:20 浏览次数:42 分类:技术文章

本文共 824 字,大约阅读时间需要 2 分钟。

Mysql常见引擎

参考自 的文章, 该文内容比较精悍短小, 详细可参考

1. 引擎种类

查看MySQL数据库使用的引擎

SHOW ENGINES;

查看数据库默认使用哪个引擎

SHOW VARIABLES LIKE 'storage_engine';

在这里插入图片描述

1.1 InnoDB

InnoDB是MySQL默认的存储引擎, InnoDB也是事务型数据库的首选引擎,支持事务安全表(ACID),支持行锁定和外键,上图也看到了,InnoDB是默认的MySQL引擎。

InnoDB主要特性有:

  1. 支持事务
  2. 支持外键
  3. 支持聚簇索引
  4. 最小锁粒度是行锁
  5. 本地存储数据文件为.frm 和 .data

1.2 MyISAM

MyISAM基于ISAM存储引擎,并对其进行扩展。它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。MyISAM拥有较高的插入、查询速度,但不支持事物,不支持外键;

1.3 MEMORY

MEMORY存储引擎将表中的数据存储到内存中,为查询和引用其他表数据提供快速访问。

Mysql中的中间表就是用Memory引擎的, 所以数据库优化中有一条是尽量和用联合索引代替中间表

1.4 Archive

暂时略

1.5 存储引擎的选择

不同的存储引擎都有各自的特点,以适应不同的需求,如下表所示:

在这里插入图片描述

  1. 如果要提供提交、回滚、崩溃恢复能力的事物安全(ACID兼容)能力,并要求实现并发控制,InnoDB是一个好的选择
  2. 如果数据表主要用来插入和查询记录,则MyISAM引擎能提供较高的处理效率
  3. 如果只是临时存放数据,数据量不大,并且不需要较高的数据安全性,可以选择将数据保存在内存中的Memory引擎,MySQL中使用该引擎作为临时表,存放查询的中间结果
  4. 如果只有INSERT和SELECT操作,可以选择Archive,Archive支持高并发的插入操作,但是本身不是事务安全的。Archive非常适合存储归档数据,如记录日志信息可以使用Archive

转载地址:https://blog.csdn.net/weixin_40597409/article/details/115269776 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:mysql数据库 | 三大范式
下一篇:mysql数据库 | 索引

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年04月10日 18时43分07秒