mysql和myisam有哪些区别

mysql和myisam有哪些区别

mysqlmyisam区别是:mysql是一个关系型数据库管理系统,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据,而myisam是mysql的默认数据库引擎(5.5版之前),并且不支持事务处理。

本教程操作环境:windows10系统、mysql8.0.22版本、Dell G3电脑。

mysql和myisam的区别

myisam

MySQL的默认数据库引擎

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

每个MyISAM数据表,皆由存储在硬盘上的3个文件所组成,每个文件都以数据表名称为文件主名,并搭配不同扩展名区分文件类型:

  • .frm--存储数据表定义,此文件非MyISAM引擎的一部分。

  • .MYD--存放真正的数据。

  • .MYI--存储索引信息。

与InnoDB之比较

InnoDB可借由事务记录档(Transaction Log)来恢复程序崩溃(crash),或非预期结束所造成的数据错误;而MyISAM遇到错误,必须完整扫描后才能重建索引,或修正未写入硬盘的错误。InnoDB的修复时间,大略都是固定的,但MyISAM的修复时间,则与数据量的多少成正比。相对而言,随着数据量的增加,InnoDB会有较佳的稳定性。

MyISAM必须依靠操作系统来管理读取与写入的缓存,而InnoDB则是有自己的读写缓存管理机制。(InnoDB不会将被修改的数据页立即交给操作系统)因此在某些情况下,InnoDB的数据访问会比MyISAM更有效率。

InnoDB目前并不支持MyISAM所提供的压缩与terse row formats,所以对硬盘与高速缓存的使用量较大。因此MySQL从5.0版开始,提供另一个负载较轻的格式,他可减少约略20%的系统负载,而压缩功能已项目于未来的新版中推出。

当操作完全兼容ACID(事务)时,虽然InnoDB会自动合并多个连接,但每次有事务产生时,仍至少须写入硬盘一次,因此对于某些硬盘或磁盘阵列,会造成每秒200次的事务处理上限。若希望达到更高的性能且保持事务的完整性,就必使用磁盘缓存与电池备援。当然InnoDB也提供数种对性能冲击较低的模式,但相对的也会降低事务的完整性。而MyISAM则无此问题,但这并非因为它比较先进,这只是因为它不支持事务。

mysql

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是较好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。

以上就是“mysql和myisam有哪些区别”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。

文章标题:mysql和myisam有哪些区别,发布者:亿速云,转载请注明出处:https://worktile.com/kb/p/20956

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
亿速云亿速云认证作者
上一篇 2022年8月27日 下午4:56
下一篇 2022年8月27日 下午4:57

相关推荐

  • windows edge浏览器广告如何关闭

    edge浏览器广告关闭方法: 1、打开浏览器,点击右上角的三个点选择“设置”。 2、点击左侧高级设置在右侧“网站设置”中关闭“使用Adobe flash player”(这会导致浏览器无法打开视频和小游戏,解决方法在下面)。 3、点击浏览器右上角的三个点,在“更多工具”选择“使用 Internet …

    2022年9月8日
    23400
  • ​CSS3中calc()如何使用

    CSS3 calc() 的使用 calc() 用法类似于函数,能够给元素设置动态的值: /* basic calc */.simpleBlock { width: calc(100% – 100px);}/* calc in calc */.complexBlock { width: calc(10…

    2022年9月1日
    12700
  • windows softcnkiller怎么使用

    softcnkiller使用方法 1、首先下载这款软件。 2、下载完成后将下载好的压缩包解压出来。 3、解压完成后进入文件夹,运行“softcnkiller.exe” 4、打开后软件会自动扫描你系统之中存在的流氓软件。 5、对于你想要处理的内容,只要选中它,并点击右下角“处理选中” 6、软件逻辑是通…

    2022年9月21日
    28100
  • 小程序中如何实现excel数据批量导入

    1 建立数据源 要想将数据入库,就先需要建立数据源。登录微搭控制台,点击数据源,点击新建数据模型 输入名称和标识 数据源建立之后需要创建字段,点击添加字段 初学者最大的疑问是我需要建哪些字段,字段是个什么概念?我们还是先看一下我们的腾讯文档的在线表格 会用excel的人都知道,excel里有行和列的…

    2022年9月18日
    46400
  • App自动化测试工具选择方法有哪些

    现在app的开发已经是火爆的一个开发趋势,手机应用的测试也显得格外的重要,现在大部分还是停留在手动测试的状态。我们知道手机app开发,要适应不同的设备,比如一个Android app要适应不同的版本,不仅是要支持最新的版本,旧的版本也需要支持,这也就导致了手动测试需要购买N部android手机来手动…

    2022年9月2日
    34900
  • ECharts如何打印数据

    ECharts打印数据的方法 一、 首先我们要做的,就是在Echarts图标上方定义一个img 1 <!–startprint–>2 <img src=”” id=”printImg” style=&#8221…

    2022年9月26日
    25200
  • 电脑0x0000001a蓝屏代码怎么解决

    解决方法: 名列前茅种方法: 1、通过蓝屏代码提示,我们分析出这个蓝屏出错代码的缘由是: 代码:0x0000001a 原因:指定的磁盘或磁盘无法存取。 2、ntoskrnl.exe文件是N卡(显卡)的驱动程序文件。如果之前更新过了显卡的驱动程序,那就是它惹的祸。不妨先回滚驱动程序。 3、不行,再找到…

    2022年9月16日
    84200
  • 如何进行Web渗透技巧分析

    当前,随着信息网络的不断发展,人们的信息安全意识日益提升,信息系统的安全防护措施也逐渐提高,通常都会在服务器的互联网边界处部署防火墙来隔离内外网络,仅仅将外部需要的服务器端口暴露出来。采用这种措施可以大大的提高信息系统安全等级,对于外部攻击者来说,就像关闭了所有无关的通路,仅仅留下一个必要入口。 但…

    2022年9月22日
    16500
  • C语言中for循环与while循环怎么使用

    一、单层for循环 引例:C语言实现求1到10的和(用for循环实现) #include <stdio.h>int main(){ int i, sum = 0; for (i = 1; i <= 10; i++) sum = sum + i; printf(“sum = %dn”…

    2022年9月15日
    18300
  • javac编译找不到文件如何解决

    javac编译找不到文件怎么办: 1、通过”cd“命令切换到java类的存放路径。 2、重新确认java类中的代码编写是否正确。 3、输入”javac 类名.java“,回车,执行运行,如果不报错说明编译正常,如果报错,根据错误修改java类代码即可。 4、输入”java 类名“进行文件运行即可。 …

    2022年9月8日
    98600
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部