MyISAM和innoDB两种引擎的对比

innoDB

3.23就有了innoDB引擎,5.5成为了默认引擎,支持外键
是一种事务型引擎,可以保证完整提交和回滚
更新、删除比较多的场景,推荐使用innoDB
不过innoDB对内存要求高,因为索引和数据存到一个表了;写操作的效率差

MyISAM

是非事务型引擎,对增加和查找支持的比较好访问速度快
对COUNT(*)这种对数据统计任务有专门的变量存储,O(1)级别的
不支持事务、行级锁、外键,尤其是崩溃后无法恢复

区别

磁盘文件

在这里插入图片描述

索引支持

innoDB支持聚簇(通常是主键)索引,MyISAM不支持(因为聚簇索引要求索引键和行数据必须在物理空间上连续)

事务机制

innoDB有undo-log和redo-log。
undo-log是磁盘中记载变更前的旧数据,rollback的话会根据undo-log覆盖缓冲区(undo_log_buffer,在内存中)中变更后的数据。以此保证事务的原子性。
redo-log是磁盘中记录数据用的,数据库宕机后,可以根据日志恢复数据。只要事务commit,能够保证该事务数据不会丢失。保证了事务的持久性。
MyISAM这几个都不行

锁粒度

MyISAM只能表锁,而innoDB表锁、行锁都可以
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/195491.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PyQt(学习笔记)

学习资料来源: PyQt快速入门——b站王铭东老师 PyQt(学习笔记) Pycharm环境准备运行第一个程序QPushButtonQLabelQLineEdit调整窗口大小、位置、图标布局信号与槽PyQt引入多线程 Pycharm环境准备 新建环境——添加PyQt5模块——验证版本 如果…

手写消息队列(基于RabbitMQ)

一、什么是消息队列? 提到消息队列是否唤醒了你脑海深处的记忆?回看前面的这篇文章:《Java 多线程系列Ⅳ(单例模式阻塞式队列定时器线程池)》,其中我们在介绍阻塞队列时说过,阻塞队列最大的用途…

K-Means聚类

文章目录 概要整体架构流程技术名词解释技术细节小结 概要 K-means聚类算法实现 技术细节 选取的数据集是sklearn.datasets里面的鸢尾花数据集,方便最后的算法评价。 根据手肘法(即根据SSE代价函数)得出最合适的k值。 此处思路是先根据E …

ZJU Beamer学习手册(二)

ZJU Beamer学习手册基于 Overleaf 的 ZJU Beamer模板 进行解读,本文则基于该模版进行进一步修改。 参考文献 首先在frame文件夹中增加reference.tex文件,文件内容如下。这段代码对参考文献的引用进行了预处理。 \usepackage[backendbiber]{biblatex} \…

最全的接口自动化测试思路和实战:【推荐】混合测试自动化框架(关键字+数据驱动)

混合测试自动化框架(关键字数据驱动) 关键字驱动或表驱动的测试框架 这个框架需要开发数据表和关键字。这些数据表和关键字独立于执行它们的测试自动化工具,并可以用来“驱动"待测应用程序和数据的测试脚本代码,关键字驱动测试看上去与手工测…

【wp】2023第七届HECTF信息安全挑战赛 Web

伪装者 考点:http协议flask的session伪造ssrf读取文件 首先根据题目要求就行伪造HTTP 这里不多说,比较基础 然后下面得到是个登入 页面,我们输入zxk1ing 得到 说什么要白马王子 ,一眼session伪造 看到ey开头感觉是jwt 输入看看 得…

DrugMAP: molecular atlas and pharma-information of all drugs学习

DrugMAP:所有药物的分子图谱和制药信息 - PMC (nih.gov) DrugMAP: the molecular atlas and pharma-information of drugs (idrblab.net) 构建了一个描述药物分子图谱和药物信息的新数据库(DrugMAP)。它提供了>30 000种药物/候选药物的相…

深入了解域名与SSL证书的关系

在如今数字化的世界里,网络安全成为我们关注的重要议题之一。为了确保数据在网络上传输的安全性,我们通常会采取各种安全措施,其中最常用的就是SSL证书。然而,很多人并不了解SSL证书是如何与域名相互关联的。 首先,我…

深入理解栈与队列:从基本概念到高级实现

💓 博客主页:江池俊的博客⏩ 收录专栏:数据结构探索👉专栏推荐:✅cpolar ✅C语言进阶之路💻代码仓库:江池俊的代码仓库🔥编译环境:Visual Studio 2022🎉欢迎大…

李宏毅2023机器学习作业HW05解析和代码分享

ML2023Spring - HW5 相关信息: 课程主页 课程视频 Sample code HW05 视频 HW05 PDF 个人完整代码分享: GitHub | Gitee | GitCode 运行日志记录: wandb P.S. HW05/06 是在 Judgeboi 上提交的,完全遵循 hint 就可以达到预期效果。 因为无法在 Judgeboi 上…

计算机系统的层次结构和性能指标

目录 五层结构三个级别语言 计算机性能指标CPU性能指标系统整体的性能指标 五层结构 三个级别语言 编译程序:将高级语言编写的源程序全部语句一次全部翻译成机器语言程序,而后再执行机器语言程序(只需翻译一次) 解释程序&#xff…

常见树种(贵州省):003柏类

摘要:本专栏树种介绍图片来源于PPBC中国植物图像库(下附网址),本文整理仅做交流学习使用,同时便于查找,如有侵权请联系删除。 图片网址:PPBC中国植物图像库——最大的植物分类图片库 一、柏木 …