| |
|
开发:
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存储引擎详解 |
书接上文:MySQL的逻辑架构,以及从架构的视角解读一条SQL查询数据在MySQL内部是如何执行的?,本文全面系统的介绍一下MySQL当中的比较重要的存储引擎,以及常见存储引擎的对比。 本文内容 思维导图存储引擎简介存储引擎负责mysql中数据的存储和提取。它的架构模式是插件式的,支持InnoDB、MyISAM等多种存储引擎。从5.5版本后,默认采用InnoDB引擎。 存储引擎负责提供API接口给Server层的执行器调用(如果对SQL的执行过程不清楚的,可以参考上篇文章:《 不同的存储引擎,存储数据的格式一般是不同的。甚至有的存储引擎(Memory)都不用磁盘来存储数据,也就是说关闭服务器后表中的数据就消失了。
通过
列内容示意:
创建表时,如果没有指定存储引擎,使用默认的存储引擎InnoDB;也可以自己指定存储引擎。
通过
下面让我们进入正题,学习比较重要的几个存储引擎。通过星号?区分重要程度哦~ ???InnoDB引擎:事务型存储引擎InnoDB是mysql默认的事务型引擎,它支持事务。是一种兼顾高可靠性和高性能的通用存储引擎。在mysql5.5版本以后,默认采用InnoDB引擎; InnoDB通过使用多版本并发控制,也就是大名鼎鼎的MVCC来支持高并发。并且实现了SQL标准的4种隔离级别,其默认级别是 事务的四种隔离级别:
除此之外,InnoDB引擎还提供了插入缓冲区(insert buffer)、二次写(double write)、自适应哈希索引(adaptive hash index)、预读(read ahead)等高性能和高可用的功能。 InnoDB是基于聚簇索引建立的,聚簇索引对主键的查询有很高的性能。但是它的二级索引(secondary index,非主键索引)中必须包含主键列,所以如果主键列很大的话,其他的所有索引都会很大。
??MyISAM引擎:主要的非事务型存储引擎在MySQL5.1及以前的版本,MyISAM是默认的存储引擎。MyISAM提供了大量的特性,包括:全文索引、压缩、空间函数(GIS)等,但MyISAM不支持事务、行级锁,并且有一个毫无疑问的缺陷就是奔溃后无法安全恢复。
注意这里只是原则上可以应用的场景,笔者工作上还没有遇到过MyISAM表,即便是日志存储,通常都是通过 ?Memory引擎:内存引擎Memory存储引擎表结构保存在磁盘上,但是数据保存在内存中,不需要进行磁盘IO,所以它的速度是很快的。但是因为数据保存在内存中,当MYSQL服务器重启后,表数据会丢失。 ?InnoDB引擎 🆚 MyISAM引擎
参考资料:
🎉 如果这篇文章对你有帮助,点赞👍 收藏? 关注? 哦,创作不易,感谢!😀 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/23 13:27:07- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |