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 数据库 存储引擎」InnoDB和MyIsAm的区别 -> 正文阅读

[大数据]「MySQL 数据库 存储引擎」InnoDB和MyIsAm的区别

我们应该深刻意识到Mysql数据库的核心为存储引擎
MySql数据库的插件型体系结构,可以使用不同的存储引擎—— 而每个存储引擎都有各自的特点,开发人员可以根据不同的业务和应用建立不同的存储引擎表。
存储引擎主要分为官方存储引擎和第三方存储引擎,具有代表性的就是MyIsAm存储引擎和InnoDB存储引擎,下面说一说两者的区别。

InnoDB特点

  1. MySQL数据库在 5.5.8版本之前默认的存储引擎是MyIsAm,而5.5.8之后默认使用InnoDB
  2. InnoDB支持存储引擎支持事务,MyIsAm不支持
  3. InnoDB支持外键,MyIsAm不支持
  4. InnoDB支持表级锁和行级锁,MyIsAm只支持表级锁
  5. InnoDB支持级联更新,级联删除
  6. InnoDB使用MVCC(多版本并发控制协议)获得高并发性,支持四种标准的隔离级别,默认为 REPEATABLE READ(可重复读)
  7. InnoDB利用next_key_locking策略避免幻读,其相当于间隙锁和记录锁,不仅会锁住范围,还会锁住记录本身
  8. InnoDB提供了 加速插入操作的插入缓冲二次写、在内存中建立hash索引以加速读操作的自适应哈希索引,磁盘读取数据时采用了可预测预读等功能

没有无用的存储引擎,要根据业务做适当调整

MyIsAm特点

  1. 非事务存储引擎,究其原因,并非所有应用都需要事务,例如数据仓库(其中不涉及ETL操作,只有简单的报表查询,不需要事务)
  2. 只支持表级锁,并发性能较差,但是锁开销小
  3. 支持全文索引
  4. 缓冲池只缓存索引文件,不缓存数据文件
  5. 存储引擎由MYD和MYI组成,分别存放数据文件和索引文件(可以理解成MyData和MyIndex),由frm文件存储表
  6. MYD和MYI可以用myisampack工具进一步压缩,压缩后是只读文件,用户如果想要修改,只能用该工具解压->修改->再压缩
  7. 压缩表极大减少了磁盘空间的占有,因此可以压缩后可以减少磁盘I/O,提升查询效率;压缩表也支持索引,索引也是只读的
  8. myisampack工具使用哈夫曼编码静态算法压缩数据
  9. MySQL5.0之前指向数据记录的指针长度是4字节,因此表的大小只有4GB;5.0之后指针长度默认是6字节,因此默认支持256TB的单表数据
  10. 想要改变MyIsAm表指针的长度,可以通过修改MAX_ROWS和 AVG_ROW_LENGTH 两个参数的值,二者乘积就是表的最大大小
  11. 修改以上两个参数会导致重建整个表的所有索引,需要很长时间完成?

以上!
总结自《高性能MySQL》、《InnoDB技术内幕》

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-11-27 09:57:56  更:2021-11-27 10:00:23 
 
开发: 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 7:30:27-

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