论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
数据库
›
Mysql
›
Mysql存储引擎
Mysql存储引擎
王柳
论坛元老
|
2023-2-13 20:09:56
|
显示全部楼层
|
阅读模式
楼主
主题
1022
|
帖子
1022
|
积分
3066
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
Mysql存储引擎:
1. MyISAM
1.1 MyISAM存储组成
MyISAM的存储格式主要有:
1、数据文件:存储数据行, 数据文件扩展名为.MYD(MYData)。
2、索引文件:存储索引数据,索引文件扩展名为.MYI(MYIndex)。
3、frm文件:存储表定义信息,主要包括表列和列定义信息、各种属性、扩展及MyISAM的表的各种参数等信息,表定义扩展名为.MYD(MYData)。
4、opt文件:存储MyISAM表的相关选项,将缓存的表据放在此文件中。
1.2 MyISAM具有的特点:
1. 不支持事务:MyISAM表不支持事务处理,无法保证多次操作要么全部成功,要么全部失败,若不小心造成数据损坏只能重建整个表。
2. 不支持完整性约束(不支持外键):MyISAM表不支持完整性约束,比如不能建立主外键,也不能限制列的唯一性、非空性等。
3. 支持表锁:MyISAM表支持表锁、行锁,但是表锁模式在某些场景下可能会阻塞其它事务,所以不建议采用。
4. 支持全文索引:MyISAM引擎支持全文索引。
5. 支持插入高速缓存:MyISAM表支持插入高速缓存,在插入大量数据时可以大大提升效率。
6. 高读取性能:MyISAM表的数据量比较大,无法采用事务的机制防止数据的脏读,因此MyISAM表的性能更加好。(建议在主从机制中,可以在主服务器使用InnoDB存储引擎,在从结点中使用MyISAM存储引擎)
注:全文索引是指一种特殊的索引,可以让系统分析整段文本的意思,从而建立索引,方便用户在搜索引擎中搜索出包含所要搜索指定文本的信息。例如在一个文档中包含有“它的色彩艳丽”一词,只要输入“艳丽”一词就可以搜索到所要查询的文档。这样可以节省很多时间,搜索结果也会更精准。
2. InnoDB
2.1 InnoDB存储组成
InnoDB存储引擎使用B+树来索引数据,将索引数据存储在IBD文件中。InnoDB存储引擎使用两个独立的文件:索引文件和数据文件。 索引文件后缀为.ibd,它将一些B+树数据结构储存在一个文件里,用来存放关键字或是主键。 而数据文件是 .ibd 类型,部分其他内容索引文件中有新信息时将同步更新,以便恢复或更新操作的完整过程的正确性,达到索引重建、内容抵消以及内容读取的功能。 关于范式,InnoDB会自动拆分大的多样的表,形成一个索引树,通过B+树的索引去定位一条具体的数据,从而实现快速查找数据。
1.2 InnoDB具有的特点:
1. 支持事务:InnoDB存储引擎是支持事务的,它支持ACID(原子性、一致性、隔离性和持久性)特性,且实现了MVCC(多版本并发控制),支持自动提交,回滚,崩溃恢复等。
2. 支持行锁和表锁:InnoDB支持行级锁和表级锁,行级锁可以有效的提高并发性能,而表级锁可以确保数据的完整性。
3. 支持完整性约束(外键):InnoDB存储引擎支持外键约束功能,可以保证完整性,减少数据冗余。
4. 实现了类型可拓展表:InnoDB支持多字段的类型可拓展表,可以很好的满足用户的多变需求。
5. 支持多版本并发控制:InnoDB实现了多版本并发控制(MVCC),应用程序可以比较数据的变化范围,以此来避免写冲突及死锁。
6. 支持原子性:InnoDB支持事务原子性,可以让修改某行记录操作原子化。
7. 支持快照恢复:InnoDB支持快照恢复,可以从上一次发生故障后的检查点(checkpoint)开始恢复。
8. 支持分区表:InnoDB支持水平及垂直分区表,可以支持更大的表,以及提升查询性能。
9. 支持缓存机制:InnoDB内部采用预读机制,将数据放入缓存中,可以提高数据的读取性能。
10. 支持排序:InnoDB可以根据用户给出的排序域,对结果集进行排序。
A:ACID是指原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。
1. 原子性(Atomicity):事务是作为一个不可分割的单元执行的,要么完全执行,要么完全不执行。
2. 一致性(Consistency):事务执行前和执行后,数据库必须保持一致状态。
3. 隔离性(Isolation):一个事务的执行不能被其他并发的事务所干扰。
4. 持久性(Durability):一个事务一旦被提交,它对数据库中数据的改变就是永久性的,即使发生系统故障也不应破坏其结果。
3.MEMORY
3.1,MEMORY介绍存储引擎
MEMORY存储引擎使用物理内存存储数据,在服务器关闭时会丢失存储的内容,因此又被称为内存存储引擎,不支持事务操作。
3.2,InnoDB具有的特点:
1. 速度极快:MEMORY引擎存储的数据存储在物理内存中,且没有磁盘的IO消耗,读写数据的速度非常快;
2. 服务器重启消失:MEMORY存储引擎存储的内容随着服务器的关闭而消失,因此数据不可持久化;
3. 不支持事务:MEMORY不支持事务操作,也就是说不能用ROLLBACK、COMMIT等操作;
4. 不能添加索引:MEMORY存储引擎不能添加索引,全表扫描几乎是唯一的访问方式。
用途:
MEMORY的主要应用是临时表,一些短暂的操作,使用MEMORY可以提高查询的效率,比如从复杂的表中查询 出少量的数据,在不需要持久化的场景中,使用MEMORY会更加高效。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
王柳
论坛元老
这个人很懒什么都没写!
楼主热帖
Keytool配置 Tomcat的HTTPS双向认证 ...
【小程序】图解小程序平台架构及其特征 ...
校园网组网方案的设计
NSIS官方认证插件集成安装包 ...
[网鼎杯 2020 朱雀组]Think Java——wp ...
太方便了,钉钉上就可完成代码发布审批 ...
利用Python生成随机密码,灰常简单 ...
Google Earth Engine(GEE)——Kmeans ...
机加工行业MES系统模具行业MES系统CNCl ...
Ansible 学习笔记 - 批量巡检站点 URL ...
标签云
AI
运维
CIO
存储
服务器
快速回复
返回顶部
返回列表