首页 数据库 mysql教程 Mysql存储引擎中InnoDB与MyISAM区别(网络整理)_MySQL

Mysql存储引擎中InnoDB与MyISAM区别(网络整理)_MySQL

Jun 01, 2016 pm 01:01 PM
引擎 网络

1, 事务处理 innodb 支持事务功能,myisam 不支持。 Myisam 的执行速度更快,性能更好。
2,select ,update ,insert ,delete 操作 MyISAM:如果执行大量的SELECT,MyISAM是更好的选择 InnoDB:如果你的数据执行大量的INSERT或UPDATE,出于性能方面的考虑,应该使用InnoDB表
3,锁机制不同 InnoDB 为行级锁,myisam 为表级锁。 注意:当数据库无法确定所找的行时,也会变为锁定整个表。 如: update table set num = 10 where username like "%test%";
4,查询表的行数不同 MyISAM:select count(*) from table,MyISAM只要简单的读出保存好的行数,注意的是,当count(*)语句包含 where条件时,两种表的操作是一样的
InnoDB : InnoDB 中不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行
5,物理结构不同 MyISAM :每个MyISAM在磁盘上存储成三个文件。第一个文件的名字以表的名字开始,扩展名指出文件类型。 .frm文件存储表定义。 数据文件的扩展名为.MYD (MYData)。 索引文件的扩展名是.MYI (MYIndex)
InnoDB:基于磁盘的资源是InnoDB表空间数据文件和它的日志文件,InnoDB 表的大小只受限于操作系统文件的大小,一般为 2GB
6,anto_increment 机制不同 更好和更快的auto_increment处理

其他:为什么MyISAM会比Innodb 的查询速度快。 INNODB在做SELECT的时候,要维护的东西比MYISAM引擎多很多;
1)数据块,INNODB要缓存,MYISAM只缓存索引块, 这中间还有换进换出的减少;
2)innodb寻址要映射到块,再到行,MYISAM 记录的直接是文件的OFFSET,定位比INNODB要快
3)INNODB还需要维护MVCC一致;虽然你的场景没有,但他还是需要去检查和维护 MVCC ( Multi-Version Concurrency Control )多版本并发控制 InnoDB:通过为每一行记录添加两个额外的隐藏的值来实现MVCC,这两个值一个记录这行数据何时被创建,另外一个记录这行数据何时过期(或者被删除)。但是InnoDB并不存储这些事件发生时的实际时间,相反它只存储这些事件发生时的系统版本号。这是一个随着事务的创建而不断增长的数字。每个事务在事务开始时会记录它自己的系统版本号。每个查询必须去检查每行数据的版本号与事务的版本号是否相同。让我们来看看当隔离级别是REPEATABLE READ时这种策略是如何应用到特定的操作的:   SELECT InnoDB必须每行数据来保证它符合两个条件:   1、InnoDB必须找到一个行的版本,它至少要和事务的版本一样老(也即它的版本号不大于事务的版本号)。这保证了不管是事务开始之前,或者事务创建时,或者修改了这行数据的时候,这行数据是存在的。   2、这行数据的删除版本必须是未定义的或者比事务版本要大。这可以保证在事务开始之前这行数据没有被删除。
所以,InnoDB 用于数据完整性/写性能要求比较高的应用. MyISAM 适合查询应用。


如果不是对事务要求非常的强,高并发写推荐选择MyISAM。理由如下:
MyISAM的索引和数据是分开的,并且索引是有压缩的,内存使用率就对应提高了不少,能加载更多索引,而Innodb是索引和数据是紧密捆绑的,没有使用压缩从而会造成Innodb比MyISAM体积庞大不小;
InnoDB存储引擎在插入数据时会花更多的开销在维护完整性、维持事务上,所以效率比MyISAM低;
根据题主的描述,主要是插入数据,并且只有一张表,后期对该表的操作也主要是查询吧,就查询速度而言,MyISAM比InnoDB更优越,并且还有MyISAM索引,可以很好的优化查询速度。

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

仓库:如何复兴队友
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Windows 11 上如何调整 MTU 大小 Windows 11 上如何调整 MTU 大小 Aug 25, 2023 am 11:21 AM

如果您在Windows11上突然出现缓慢的互联网连接,并且您已经尝试了书中的所有技巧,那么它可能与您的网络无关,而是与您的最大传输单元(MTU)无关。如果您的系统发送或接收具有错误MTU大小的数据,则可能会出现问题。在这篇文章中,我们将了解如何在Windows11上更改MTU大小以实现流畅和不间断的互联网连接。Windows11中的默认MTU大小是多少?Windows11中的默认MTU大小为1500,这是允许的最大值。MTU代表最大传输单位。这是可以在网络上发送或接收的最大数据包大小。每个支持网

WLAN扩展模块已停止[修复] WLAN扩展模块已停止[修复] Feb 19, 2024 pm 02:18 PM

如果您的Windows计算机上的WLAN扩展模块出现问题,可能会导致您与互联网断开连接。这种情况常常让人感到困扰,但幸运的是,本文提供了一些简单的建议,可以帮助您解决这个问题,让您的无线连接重新正常运行。修复WLAN扩展模块已停止如果您的Windows计算机上的WLAN可扩展性模块已停止工作,请按照以下建议进行修复:运行网络和Internet故障排除程序禁用并重新启用无线网络连接重新启动WLAN自动配置服务修改电源选项修改高级电源设置重新安装网络适配器驱动程序运行一些网络命令现在,让我们来详细看

win11 DNS服务器错误如何解决 win11 DNS服务器错误如何解决 Jan 10, 2024 pm 09:02 PM

我们在连接网络时需要使用正确的dns才可以上网。同理,如果我们使用了错误的dns设置就会提示dns服务器错误了,这时候我们可以尝试在网络设置中选择自动获取dns来解决,下面就一起来看下具体解决方法吧。win11网络dns服务器错误怎么办方法一:重新设置DNS1、首先,点击任务栏中的开始进入,在其中找到并点开“设置”图标按钮。2、然后点击左侧栏中的“网络&Internet”选项命令。3、然后在右侧找到“以太网”选项,点击进入。4、之后,点击DNS服务器分配中的“编辑”,最后将DNS设置为“自动(D

解决Chrome,Google云端硬盘和照片上的'失败网络错误”下载! 解决Chrome,Google云端硬盘和照片上的'失败网络错误”下载! Oct 27, 2023 pm 11:13 PM

什么是“网络错误下载失败”问题?在我们深入研究解决方案之前,让我们首先了解“网络错误下载失败”问题的含义。当下载过程中网络连接中断时,通常会发生此错误。它可能由于各种原因而发生,例如互联网连接薄弱、网络拥塞或服务器问题。发生此错误时,下载将停止,并显示错误消息。如何修复失败的网络错误下载?在访问或下载必要的文件时,遇到“网络错误下载失败”可能会成为障碍。无论您是使用Chrome等浏览器还是Google云端硬盘和Google相册等平台,都会弹出此错误,从而造成不便。下面是帮助您导航和解决此问题的分

修复: WD 我的云未显示在 Windows 11 中的网络上 修复: WD 我的云未显示在 Windows 11 中的网络上 Oct 02, 2023 pm 11:21 PM

如果WDMyCloud未在Windows11的网络上显示,这可能是一个大问题,尤其是当您将备份或其他重要文件存储在其中时。对于经常需要访问网络存储的用户来说,这可能是一个大问题,因此在今天的指南中,我们将向您展示如何永久解决此问题。为什么WDMyCloud未显示在Windows11网络上?您的MyCloud设备、网络适配器或互联网连接未正确配置。电脑上未安装SMB功能。Winsock的临时故障有时会导致此问题。如果我的云未显示在网络上,我该怎么办?在我们开始修复问题之前,您可以执行一些初步检查:

win10不能上网右下角显示地球怎么办 win10网络成地球无法上网的多种解决办法 win10不能上网右下角显示地球怎么办 win10网络成地球无法上网的多种解决办法 Feb 29, 2024 am 09:52 AM

这篇文章将介绍Win10系统网络显示地球标志但无法上网的解决方法。文章将提供详细的操作步骤,帮助读者解决Win10网络显示地球无法上网的问题。方法一:直接重启先检查一下网线是否没插好,宽带是否欠费,路由器或光猫可能会卡死,这时需重启路由器或光猫。假如当前电脑没有重要的事宜在操作,能直接重启电脑,大部分的小问题能通过重启电脑来快速解决。假如确定宽带没有欠费,网络正常,那便是另一回事。方法二:1、按【Win】键,或点击左下角的【开始菜单】,在打开的菜单项中,点击电源按钮上方的齿轮状图标,这个就是【设

在 Windows 11 中如何启用/禁用局域网唤醒功能 在 Windows 11 中如何启用/禁用局域网唤醒功能 Sep 06, 2023 pm 02:49 PM

LAN唤醒是Windows11上的一项网络功能,有了它,您可以远程将电脑从休眠或睡眠模式唤醒。虽然临时用户不经常使用它,但此功能对于使用有线网络的网络管理员和高级用户非常有用,今天我们将向您展示如何设置它。如何知道我的计算机是否支持LAN唤醒?要使用此功能,您的计算机需要以下各项:PC需要连接到ATX电源,以便您可以远程将其从睡眠模式唤醒。需要创建访问控制列表并将其添加到网络中的所有路由器。网卡需要支持唤醒局域网功能。要使此功能正常工作,两台计算机需要位于同一网络上。虽然大多数以太网适配器通过以

如何在 Windows 11 上检查网络连接详细信息和状态 如何在 Windows 11 上检查网络连接详细信息和状态 Sep 11, 2023 pm 02:17 PM

为了确保您的网络连接正常工作或解决问题,有时您需要检查Windows11上的网络连接详细信息。通过这样做,您可以查看各种信息,包括您的IP地址、MAC地址、链接速度、驱动程序版本等,在本指南中,我们将向您展示如何做到这一点。如何在Windows11上查找网络连接详细信息?1.使用“设置”应用按+键打开Windows设置。WindowsI接下来,导航到左窗格中的网络和互联网,然后选择您的网络类型。在我们的例子中,这就是以太网。如果您使用的是无线网络,请改为选择Wi-Fi网络。在屏幕底部,您应该会看

See all articles