IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> MySQL存储引擎 -> 正文阅读

[大数据]MySQL存储引擎

?目录

1、存储引擎总结对比

2、存储引擎明细对比

2.1、MyISAM

2.2、MEMORY

2.3、InnoDB(默认)

3、存储引擎选择


问题:MySQL有哪些存储引擎?默认是哪个?有什么区别?如何选择存引擎?

1、存储引擎总结对比

在mysql5之后,支持的存储引擎有9种,但是常用的就那么几种,而且默认支持的是InnoDB

我们可以使用命令来看看当前数据库可以支持的存储引擎有哪些。

show engines;

微信截图_20210517005520.png

也可以查询当前表使用什么存储引擎: SHOW TABLE STATUS from 数据库库名 where Name=’表名’

SHOW TABLE STATUS from user_db where Name='t_user';

微信截图_20210517010047.png

不同的存储引擎都有各自的特点,以适应不同的需求,如表所示,下面我们来对常用的3种存储引擎进行一个对比。为了做出选择,首先要考虑每一个存储引擎提供了哪些不同的功能。

功能MyISAMMEMORYInnoDB
存储限制256TBRAM64TB
支持事务NONOYES
支持全文索引YESNONO
支持B树索引YESYESYES
支持HASH索引NOYESNO
支持数据缓存NONOYES
支持数据压缩YESNONO
空间使用率N/A
支持外键NONOYES

2、存储引擎明细对比

2.1、MyISAM

  1. 主要特点:不支持事务,也不支持外键,存储速度、访问速度快,表级锁定,对事务完整性没有要求或者以SELECT、INSERT为主的应用基本都可以使用这个引擎来创建表;

  2. 磁盘存储文件:每个MyISAM在磁盘上存储成3个文件,其中文件名和表名都相同,但是扩展名分别为:

    • frm--存储表结构
    • MYD--MYData,存储数据
    • MYI--MYIndex,存储索引
  3. 支持3种不同的存储格式:

    • 静态(固定长度)表--默认的存储格式,优点在于存储速度非常快,容易发生缓存,而且表发生损坏后也容易修复,缺点是占空间;
    • 动态(可变长)表--优点是节省空间,但更新频繁容易产生碎片,故障恢复较难;
    • 压缩表--支持数据压缩,占用空间非常小

2.2、MEMORY

  1. 主要特点:数据存储在内存,宕机数据会丢失,不支持TEXT和BLOB类型,因VARCHAR在MySQL内部当做长度固定不变的CHAR类型,所以支持;
  2. 磁盘存储文件:frm--存储表结构;
  3. 索引:支持hash索引(默认)、B树索引;

2.3、InnoDB(默认)

  1. 主要特点:支持事务,默认的事务隔离级别为Repeatable read(可重复读),通过MVCC(并发版本控制)来实现的,支持外键约束,支持自动增加列AUTO_INCREMENT属性,支持自动灾难恢复,热备,支持数据缓存,行级锁定,比较适合处理多重并发更新请求:
  2. 磁盘存储文件:
    • frm--存储表结构
    • ibd--存储数据和索引,位于B+数的叶子节点上,分区表有独立的ibd文件;
  3. 索引:B树索引

3、存储引擎选择

使用哪一种引擎需要灵活选择,一个数据库中多个表可以使用不同引擎以满足各种性能和实际需求,使用合适的存储引擎,将会提高整个数据库的性能。 选择合适的存储引擎的标准可以分为:

  • 是否支持事务?--InnoDB
  • 是否需要使用热备?--InnoDB
  • 是否需要外键支持?--InnoDB
  • 是否支持崩溃恢复?--InnoDB、MyISAM
  • 是否以读为主的业务?--MyISAM
  • 是否数据较小,且被频繁使用,允许丢失?--MEMORY

然后按照标准,选择对应的存储引擎即可。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-06 12:17:51  更:2021-10-06 12:17:59 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:38:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码