论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
软件与程序人生
›
云原生
›
MYSQL存储引擎InnoDB, MyISAM简介
MYSQL存储引擎InnoDB, MyISAM简介
万万哇
论坛元老
|
2024-8-17 08:41:18
|
显示全部楼层
|
阅读模式
楼主
主题
1675
|
帖子
1675
|
积分
5025
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
MYSQL存储引擎
在开始谈到mysql存储引擎之前,我们应该知道或者了解存储引擎是什么,存储引擎是为了办理什么样的题目的。
在mysql中,存储引擎是处理不同表类型SQL操纵的MySQL组件,同时MySQL服务器采用可插拔的存储引擎架构,在服务器运行时不需要重启就可以加载和卸载。
那我们为何要使用存储引擎呢?
在MySQL对数据举行处理的过程中,我们肯定需要数据举行不同的操纵,比如排序, 查找,等等,以是在操纵的过程中如何存储数据,也就是该采用什么样的数据布局,以及如何包管数据读写的安全和速度等等,因此我们在不同的数据处理的情况下,就会用到不同的存储引擎。
存储引擎的分类
mysql中不同版本支持的存储引擎肯定是不相同的,这里我们可以使用指令 show engines来查看当前服务器所支持的存储引擎。
show engines;
复制代码
其中YES表示为支持,NO表示为不支持,Default当然就表示为默认了,可以看到InnoDB是Mysql默认使用也是用途最广的存储引擎,背面一篇文章会专门提到。 (MYSQL 5.5开始成为的)
当然如果InnoDB引擎不是默认的存储引擎,可以通过命令行指定选项
default-storage-engine=InnoDB;
复制代码
或者在MySQL的配置文件中配置上述选项
当然也会存在在一些业务场景下,默认存储引擎不是InnoDB且不能修改的情况这里我们在建表语句背面加上engine=InnoDB就行了
create table name{
......
}engine=InnoDB;
复制代码
本文大概讲述一下每个存储引擎的上风,背面关于InnoDB引擎的每个特点背面会写文章详细讲述
InnoDB存储引擎
InnoDB存储引擎是一款高可靠性和高性能的存储引擎,如果建表的时候没有指定存储引擎,也会默认使用InnoDB引擎。 他的一些上风
他是遵循ACID模型的,也就是支持事务功能,事务呢又是可以回滚,提交,崩溃规复等来掩护用户数据的安全性
如果发生了意外导致服务器挂掉了,无论当时数据库发生了什么,都不需要在重启数据库后执行任何的特别操纵,InnoDB引擎崩溃修复功能会自动完成崩溃之前提交的更改,并撤销崩溃前正在举行但未提交的更改,从而允许我们从停止的地方继承执行。背面都会有专题详细讲述
支持行级锁,进步了多用户的读取并发性和性能。这里的行级指的是锁的力度,背面都会详细讲到的
InnoDB引擎维护了一个本身的缓冲池,缓冲池是一个键值对布局的情势,以SQL语句作为Key,SQL语句的执行结果作为VALUE,对于经常执行的SQL语句,同时执行出来的结果都是相同的SQL语句,缓冲池会对这样的数据举行缓存,这样从硬盘操纵的数据直接酿成了从内存中操纵,大幅提升了服从,在专用数据库服务器上,通常80%以上的物理内存会分配给缓存池
InnoDB引擎优化了关于主键的查询服从,每一个InnoDB表都有一个称为聚簇索引的主键索引实现通过最少的硬盘I/O来实现对主键的查找, 背面应该出单独讲一个索引的专题
为了保持数据完整性,InnoDB引擎支持Foreign Key(外键约束),在举行CRUD的时候(增删改查)的时候确保了先关表之间的一致性。
当从表中反复查询相同行时,自顺应哈希索引会自动接管这些查询,此时查询服从和哈希表相同,InnoDB引擎本身不支持哈希索引,但是里面筹划了一个自顺应哈希,背面应该也会讲到
MyISAM存储引擎
MySQL5.5之前的默认存储引擎
既然可以作为之前的默认引擎,说明肯定照旧有很多长处的,他的查询服从极高,底层也是b+树,同时他有自身数据压缩的功能,表的占用空间就非常的小。但是他锁的级别是一个表级锁,也就表明了 读/写的性能其实是不那么优秀的,
通常运用于中小型web应用和数据仓库配置中的只读或者主要是读的场景
下面是MyISAM中的一些上风
MyISAM表的最大行数为(2^32)^2及(1.844E + 19)行
MyISA引擎中每个表最多可以创建64个索引,每个索引最多可以包含16个列; 一样平常只会设置一点,因为设置索引后,更改数据会修改很多地方
支持并发插入在建表时可以输入指令,将数据文件和索引文件放在不同设备的不同目次中,从而进步访问速度,创建MyISAM文件时会天生三个文件,一个是索引文件,一个是数据文件
BLOB和TEXT数据类型的列也可以被索引
在索引列中允许使用NULL值
在MySQL启动时设置了myisam_recover_options体系变量,那么MyISAM表在打开时会举行自查,如果上一次表没有精确关闭将会修复
表中varchar和char列的长度总和最多可答64kb
unique约束的长度不受限制
MyISAM引擎存储格式
在MyISAM引擎中支持三种不同的存储格式,其中FIXED 静态(固定)格式和DYNAMIC 动态格式,会根据使用的列类型来自动选择,
第三种是压缩格式,只能使用myisampack 实用程序天生而且是只读格式,解压使用myisam工具举行解压
当表中没有BLOB或TEXT数据类型的时候,在使用建表语句或者修改表语句的时候,可以联合ROW_FORMAT表选项将表格式设置为FIXED或者DYNAMIC
我们可以使用myisam实用工具对已压缩的MyISAM举行解压操纵
这里的压缩格式了解一下就好了 可以去百度搜一搜或者读一读官方文档
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
万万哇
论坛元老
这个人很懒什么都没写!
楼主热帖
markdown day 01
Linux系统调用四、lseek()函数详解 ...
Nacos注册中心-----从0开始搭建和使用 ...
ClickHouse(05)ClickHouse数据类型详解 ...
基于CSDN云和docker全家桶的微服务项目 ...
【云原生】Docker 进阶 -- 数据卷使用 ...
应急救灾物资行业标准与规范 ...
100天精通Python(进阶篇)——第39天 ...
谈谈技术能力
redis for windows 7.0.2安装包全网首 ...
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
MES
Oracle
边缘计算
DevOps与敏捷开发
分布式数据库
快速回复
返回顶部
返回列表