mysql的InnoDB和MyISAM引擎区别

深入理解MySql中Innodb引擎和MyIsam引擎的区别 深入理解MySql中Innodb引擎和MyIsam引擎的区别 Innodb引擎和MyIsam引擎主要有一下的区别 1 最开始Mysql是没有Innodb引擎的,而MyIsam是Mysql数据的自带的引擎,但是由于MyIsam引擎没有事务的,而Innodb引擎是另一个公司以以插件的方式引入MySql的。 下面我们通过案例来证明MyIsam引擎没有事务,Innodb引擎具有事务。 我建了两个表,innodb_table的表是使用Innodb引擎的,myisam_table是使用MyIsam引擎的。 我先关闭了 阅读详情

InnoDB

特点:

  1. 行级锁
  2. 支持事务处理
  3. 支持外键,
  4. 使用B+树。
  5. 聚集索引主键
  6. mysql5.6版本开始支持已全文索引

InnoDB中数据文件本身就是索引文件。索引也使用B+树实现,叶子节点储存数据。索引文件本身需要按主键构建(所以InnoDB需要必须有主键,没有指定会默认生成)。InnoDB的辅助索引底层储存的是主键的值。然后再根据主键的值去主键索引(也相当于数据文件)去查找相应的值。
InnoDB这样的聚集式索引会使得主键的检索十分高效。若使用辅助索引,需查询2遍索引。

最好不要使用过长的主键,因为辅助索引会引用主键值。主键最好是自增的,防止为维护B+树而频繁分裂调整树结构。

MyISAM

  1. 不支持事务
  2. 不支持外键
  3. 不支持行锁

MyISAM的索引使用B+树实现,叶子节点记录数据的储存地址。主索引和辅助索引结构相同,区别在于主索引是唯一的,而辅助索引可以重复。查询过程为:先查询B+树查询索引,得到数据地址,再根据地址读取数据。这种索引方式称为非聚集索引。

MyISAM要点: 索引文件上不记录数据,只有数据储存地址。MyISAM的索引文件和数据文件分离,查询上先查索引文件,再查数据文件。称为非聚集索引。

数据结构

数据结构

B树,又称多路平衡查找树。所有节点中孩子节点的最大值为此树的阶(用m表示)。每个节点关键字的个数最少有[m/2-1]个,最多有[m-1]个。也即一个m为4的B树,子树节点最多有4个,每个节点关键字(数据)的至多有3个,至少有1个。

B树的数据都在非叶子节点。(所有叶子节点都在同一层次,且不带信息)

B+树,所有数据都在叶子节点。叶子节点有顺序访问指针。可以更好利用计算机的局部缓存原理(当一个数据被用到时,它后面的数据也会马上被用到)。

在实际应用中,度一般是挺大的,一般在100左右。h一般不大,不超过3。

而红黑树的深度一般是很大的,磁盘IO的次数会多。无法利用局部性原理。

而对比B树和B+树来说,B+树由于把数据都放到了叶子节点,每次IO可以获取更多节点,以及叶子节点的顺序访问指针,所以B+树比B树拥有更好新能。

数学:箭头符号→(to)都表示什么意义? 数学符号“→”在不同领域有不同含义:在逻辑中表示“蕴含”(p→q);在函数中表示映射关系(f:A→B);在极限中表示变量趋近(x→a);在推导过程中表示推理方向(A→B)。此外,它也可能用于向量表示或数列趋势。其具体含义需结合上下文判断,核心应用场景包括逻辑运算、函数定义、极限分析和数学推导等。 阅读详情

相关推荐

QCustomPlot实现毫秒级时间轴数据的动态可视化与实时刷新优化

本文深入探讨了如何利用QCustomPlot库高效实现毫秒级时间轴数据的动态可视化与实时刷新。文章从基础配置讲起,详细介绍了时间轴初始化、数据平滑滚动、增量更新与内存管理等核心优化技巧,并分享了应对高频数据的缓冲策略及OpenGL硬件加速等高级优化手段,旨在解决实时图表卡顿问题,提升流畅度。

weixin_29012677的博客 424

MySQL数据库---存储引擎(MyISAM与InnoDB)

数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以 获得特定的功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎。MySQL的核心就是存储引擎。MySQL中的数据用各种不同的技术存储在文件中,每一种技术都使用不同的存储机制、索引技巧、锁定水平并最终提供不同的功能和能力,这些不同的技术以及配套的功能在MySQL中称为存储引擎。

weixin_60917414的博客 8112

OpenDRIVE车道计算避坑指南:为什么你的poly3曲线总对不齐?

本文深入解析OpenDRIVE标准中车道几何计算的三大核心难题:参数化三次多项式(ParamPoly3)的坐标系转换与参数映射、车道偏移与宽度的优先级判定,以及螺旋线(Spiral)接续的平滑性保障。通过实战案例与代码示例,提供了一套避免车道线错位与曲率不连续的精确计算与验证方法,是高精地图开发与仿真场景构建的实用避坑指南。

q9w8e7r6t5的博客 421

MySQL两种存储引擎: MyISAM和InnoDB 简单总结

  MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(Indexed Sequential Access Method:有索引的顺序访问方法)所改良。虽然性能极佳,但却有一个缺点:不支持事务处理(transaction)。不过,在这几年的发展下,MySQL也导入了InnoDB(另一种数据库引擎),以强化参考完整性与并发违规处理机制,后来就逐渐取代MyISAM。 Inn...

weixin_34179968的博客 552

用Bus Hound和MIDIOX抓包分析USB MIDI数据流:从硬件接口到软件解析的完整实战

本文详细介绍了如何使用Bus Hound和MIDIOX工具抓包分析USB MIDI数据流,从硬件接口到软件解析的完整实战过程。通过解析MIDI协议、捕获Note On/Off事件、控制变更消息等实例,帮助开发者深入理解音乐数字接口的底层通信机制,并提供了常见问题的解决方案和调试技巧。

weixin_42692935的博客 404

MTK平台LCD驱动开发实战:从零开始点亮你的Android屏幕

本文详细介绍了在MTK平台进行Android LCD驱动开发的完整流程。从理解LK与Kernel双核驱动框架入手,手把手讲解驱动结构体、屏幕参数配置、初始化序列编写以及PLL_CLOCK计算等核心步骤,并提供了系统集成配置与实用的调试避坑指南,帮助开发者高效点亮新屏幕。

terraform7cloud的博客 292

简述数据库中 InnoDB 和 MyISAM 引擎

如果在创建表的语句中没有显式指定表的存储引擎的话,那就会默认使用InnoDB作为表的存储引擎。。InnoDB存储引擎在实际应用中拥有诸多优势,比如操作便利、提高了数据库的性能、维护成本低等。如 果由于硬件或软件的原因导致服务器崩溃,那么在重启服务器之后不需要进行额外的操作。InnoDB崩溃 恢复功能自动将之前提交的内容定型,然后撤销没有提交的进程,重启之后继续从崩溃点开始执行InnoDB存储引擎在主内存中维护缓冲池,高频率使用的数据将在内存中直接被处理。

📜一个热爱探索的人 1607

从手机到自动驾驶:MIPI-CSI2协议演进史与车规级改造要点

本文追溯了MIPI-CSI2协议从智能手机摄像头到自动驾驶核心传感器的演进历程。重点剖析了该协议在车规级改造中面临的严苛挑战,包括物理层稳定性、EMC防护、功能安全与数据可靠性等关键要点,并探讨了其在多传感器融合与高带宽实时传输中的工程实践。

weixin_28318011的博客 306

数据库引擎INNODB和MYISAM的区别

PS:5.7以后的InnoDB支持全文索引了 1.InnoDB支持事务,MyISAM不支持,对于InnoDB每一条SQL语言都默认封装成事务,自动提交,这样会影响速度,所以最好把多条SQL语言放在begin和commit之间,组成一个事务; 2.InnoDB支持外键,而MyISAM不支持。对一个包含外键的InnoDB表转为MYISAM会失败; 3.索引的存储结构不同 MyISAM的数据文件和索引文件是分开存储的。MyISAM使用B+树构建索引树时,叶子节点中存储的键值为索..

GOV_D的博客 2792

【自动驾驶端到端5:VADv2: End-to-End Vectorized Autonomous Driving via Probabilistic Planning】

从大规模人类驾驶演示中学习类人驾驶策略是有希望的。但是,规划的不确定性使得从驾驶演示中提取驾驶知识是有挑战性的。从统计学习的角度来看,动作(包括实际和速度)是高度随机的,受许多无法建模的潜在因素影响。

weixin_40000560的博客 1404

基于任务的功能磁共振成像的连接性分析

虽然这种方法通过减少偶然只选择特异性代表的可能性来改善可推广性,但类别内和类别间的变异性变得更难控制(例如,"鸟类"可能是一个比"车辆"更加/不那么同质的类别),并且可能会出现关于这些预定义类别是否是现实世界实体的有意义划分的担忧——尽管这个限制在某种程度上可以通过表征相似性分析来解决。特别是,海马单变量激活和语义认知区域(左下额回)中语义信息的表征强度之间的交互预测了项目的概念记忆,而海马单变量激活和视觉处理区域(腹内侧枕叶皮层)中视觉属性的表征强度之间的交互预测了图像样本的知觉记忆。

cc1609130201的博客 2229

MySQL存储引擎MyISAM和InnoDB的区别

需要完整版PDF面试文档可扫描左侧二维码拿! 你都工作3年了,怎么还不知道MyISAM和InnoDB有什么区别?一位粉丝被面试官这样一个问题。当时,这位粉丝直接回复“不知道”,这位粉丝自己也怪不好意思的。 其实,面试官问他这个问题也不是随便问的,也是看了这位粉丝简历上写了熟练MySQL才提问的。其实,对于MySQL,这位粉丝可能只是非常熟练地完成建库、建表、往数据库表中读写数据这些简单的操作而已,并没有去了解建表的原理。 这个面试题也给我们敲了一下警钟,对于有些技术的知识点,要是没有掌握到一定深

Tom弹架构 1万+

记住这两个纯净版Windows11各系列版本系统下载网站

记住这两个纯净版Windows11各系列版本系统下载网站 HelloWindows是一个完整极致的Windows纯净系统下载站,不夹带任何私货,系统全部来源于微软官方原版,本站只是收录官方发布的系统以及工具,方便大家下载,请放心使用。永久在线:www.hellowindows.cn。HelloWindows.cn - 精校 完整 极致 Windows系统下载仓储站。

拥抱具身智能,昇腾Ascend C 7002

MySQL存储引擎InnoDB和MyISAM的区别

面试经常会问到MySQL存储引擎的相关内容。常见的MySQL存储引擎有MyISAM和InnoDB,本文主要介绍这两种存储引擎的特点和区别以及如何选择合适的存储引擎。 什么是引擎? 引擎(Engine)是开发程序或系统的核心组件。利用引擎,开发者可迅速建立、铺设程序所需的功能。什么是MySQL 引擎? 简单来说:MySQL存储引擎就是指表的类型以及表在计算机上的存储方式。不同的存储引擎决定了MySQL数据库中的表可以用不同的方式来存储。我们可以根据数据的特点来选择不同的存储引擎。InnoDB是事务型数据库的首

qq_52173163的博客 2615

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

MySQL进阶(数据库引擎)——MyISAM和InnoDB引擎的区别

MyISAM和InnoDB引擎的区别

Arya的博客,专注后端领域 3241

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

MySQL存储引擎MyISAM与InnoDB的区别

本文内容是MySQL存储引擎MyISAM与InnoDB的介绍及区别

qq_68874993的博客 1021

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Mysql 存储引擎有哪些以及MyISAM和InnoDB区别

1、InnoDB 存储引擎 InnoDB 是事务型数据库的首选引擎,支持事务安全表(ACID),支持行锁定和外键,InnoDB 是默认的 MySQL引擎。 2、MyISAM 存储引擎 MyISAM 基于 ISAM 存储引擎,并对其进行扩展。它是在 Web、数据仓储和其他应用环境下最常使用的存储引擎之一。MyISAM 拥有较高的插入、查询速度,但不支持事物。 3、MEMORY 存储引擎 MEMORY...

weixin_45151960的博客 519

【MySQL中有哪些存储引擎?请你说说MySQL中innodb和myisam的区别?InnoDB引擎的三大特性?】

【MySQL中有哪些存储引擎?请你说说MySQL中innodb和myisam的区别?InnoDB引擎的三大特性?】大家简单的回想一下我们上面学习过程的文章内容,看看自己是否掌握了呢?MySQL中有哪些存储引擎?请你说说MySQL中innodb和myisam的区别?InnoDB引擎的三大特性?大概就是这些内容,MySQL真的很重要,一定要多花点时间来学习这块的知识,不断地积累。好了,这篇文章我们就说这么说吧,我是硕风和炜,我们下篇文章再见哦。

Coder_ljw的博客 647

MySQL存储引擎MyISAM与InnoDB区别总结整理

MySQL存储引擎MyISAM与InnoDB区别总结整理 原创徐刘根Java后端技术2017-04-03 1、MySQL默认存储引擎的变迁 在MySQL 5.1之前的版本中,默认的搜索引擎是MyISAM,从MySQL 5.5之后的版本中,默认的搜索引擎变更为InnoDB。 2、MyISAM与InnoDB存储引擎的主要特点 MyISAM存储引擎的特点是:表级锁、不支持事务和全文索引...

孙荣达的博客 1294

MySQL的三种常见引擎以及Innodb和Myisam的区别

一、 1.常用的3种 2.InnoDB、 Myisam、 Memory 3.InnoDB跟Myisam的默认索引是B+tree,Memory的默认索引是hash 区别: 1.InnoDB支持事务,支持外键,支持行锁,写入数据时操作快,MySQL5.6版本以上才支持全文索引 2.Myisam不支持事务。不支持外键,支持表锁,支持全文索引,读取数据快 3.Memory所有的数据都保留在内存中,不需要进行磁盘的IO所以读取的速度很快, 但是一旦关机的话表的结构会保留但是数据就会丢失,表支持Hash索引,因此查找速

WK90的博客 459

MySQL引擎——InnoDB和MyISAM的区别

前言 MySQL 是一个支持多引擎的系统, 主要有以下几种: MyIsam InnoDB Memory Blackhole CSV Performance_Schema Archive Federated Mrg_Myisam 而在实际应用中,比较常用的就是InnoDB和MyISAM这两种,但是大多数人都不太清楚两者的区别,为什么MyISAM会被InnoDB取代?这篇文章就重点讨论它们的区别。 crash-safe crash-safe 简单来说,就是即使数据库发生异常重启,之前提交的记录也不会丢失。

白茶 245

MySQL 存储引擎 MyISAM与InnoDB 的区别

(1) InnoDB支持事务,MyISAM不支持;(2) InnoDB支持外键,而MyISAM不支持。对一个包含外键的InnoDB表转为MYISAM会失败;(3) InnoDB是聚集索引,使用B+Tree作为索引结构,数据文件是和(主键)索引绑在一起的(表数据文件本身就是按B+Tree组织的一个索引结构),必须要有主键,通过主键索引效率很高。但是辅助索引需要两次查询,先查询到主键,然后再通过主键查询到数据。因此,主键不应该过大,因为主键太大,其他索引也都会很大。

2401_87878486的博客 1199

关于Mysql 存储引擎 MyISAM 和 InnoDB 的区别

[原创] 关于Mysql 存储引擎 MyISAM 和 InnoDB 的区别一. 事务区别二. 外键区别三. 索引数据结构区别1. InnoDB 是聚集索引2. MyISAM 是非聚集索引四. select count(*) 性能区别五. 最小粒度锁区别六. Mysql存储引擎选择,抉择因素1. 事务性需求选InnoDB2. 读多写少场景选MyISAM七. 总结 一. 事务区别 InnoDB 支持事务,MyISAM 不支持事务。 这是 MySQL 将默认存储引擎从 MyISAM 变成 InnoDB 的重要原因

在技术的广袤天地里,本博客如精准罗盘。剖析前沿科技,深掘代码奥秘,以精炼笔触,带您穿越复杂技术迷宫,速达知识彼岸。 442

Mysql的MyISAM和Innodb两种存储引擎以及区别

目录 一、Mysql的两种存储引擎   1、MyISAM:   2、Innodb: 一、Mysql的两种存储引擎 1、MyISAM: ①不支持事务,但是整个操作是原子性的(事务具备四种特性:原子性、一致性、隔离性、持久性) ②不支持外键,支持表锁,每次锁住的是整张表,MyISAM的表锁有读锁和写锁(两个锁都是表级别): 表共享读锁和表独占写锁。在对MyISAM表进行读操作时,不会阻塞其他用户对同一张表的读请求,但是会阻塞其他用户对表的写请求;对其进行写操作时会阻塞对同一表读操作和写操作.

白不懂黑的静的专栏 1320

虾皮二面:MySQL支持哪些存储引擎?MyISAM和InnoDB的区别什么?

并且,你还可以根据 MySQL 定义的存储引擎实现标准接口来编写一个属于自己的存储引擎。一般情况下我们选择 InnoDB 都是没有问题的,但是某些情况下你并不在乎可扩展能力和并发能力,也不需要事务支持,也不在乎崩溃后的安全恢复问题的话,选择 MyISAM 也是一个不错的选择。大多数时候我们使用的都是 InnoDB 存储引擎,在某些读密集的情况下,使用 MyISAM 也是合适的。MySQL 存储引擎采用的是插件式架构,支持多种存储引擎,我们甚至可以为不同的数据库表设置不同的存储引擎以适应不同场景的需要。

z1ztai的博客 1609

MySQL支持哪些存储引擎?MyISAM和InnoDB有什么区别

MySQL面试题

qq_64270799的博客 1580
上一篇: 数据库事务总结与整理(一)
下一篇: mysql加锁分析(一)等值查询
梧桐和风
博客等级 码龄12年 62粉丝 89原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梧桐和风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值