MyISAM 和 InnoDB 的区别

news/2024/11/26 2:06:15/
  • MySQL 5.5 之前,MyISAM 引擎是 MySQL 的默认存储引擎,可谓是风光一时。

  • 虽然,MyISAM 的性能还行,各种特性也还不错(比如全文索引、压缩、空间函数等)。但是,MyISAM 不支持事务和行级锁,而且最大的缺陷就是崩溃后无法安全恢复。

  • MySQL 5.5.5 之前,MyISAM 是 MySQL 的默认存储引擎。5.5.5 版本之后,InnoDB 是 MySQL 的默认存储引擎。


  • 1.是否支持行级锁
    MyISAM 只有表级锁(table-level locking),而 InnoDB 支持行级锁(row-level locking)和表级锁,默认为行级锁。
    也就说,MyISAM 一锁就是锁住了整张表,这在并发写的情况下是多么滴憨憨啊!这也是为什么 InnoDB 在并发写的时候,性能更牛皮了!

  • 2.是否支持事务
    MyISAM 不提供事务支持。
    InnoDB 提供事务支持,实现了 SQL 标准定义了四个隔离级别,具有提交(commit)和回滚(rollback)事务的能力。并且,InnoDB 默认使用的 REPEATABLE-READ(可重读)隔离级别是可以解决幻读问题发生的(基于 MVCC 和 Next-Key Lock)。

  • 3.是否支持外键
    MyISAM 不支持,而 InnoDB 支持。
    外键对于维护数据一致性非常有帮助,但是对性能有一定的损耗。因此,通常情况下,我们是不建议在实际生产项目中使用外键的,在业务代码中进行约束即可!
    一般我们也是不建议在数据库层面使用外键的,应用层面可以解决。不过,这样会对数据的一致性造成威胁。具体要不要使用外键还是要根据你的项目来决定。

  • 4.是否支持数据库异常崩溃后的安全恢复
    MyISAM 不支持,而 InnoDB 支持。
    使用 InnoDB 的数据库在异常崩溃后,数据库重新启动的时候会保证数据库恢复到崩溃前的状态。这个恢复的过程依赖于 redo log 。

  • 5.是否支持 MVCC
    MyISAM 不支持,而 InnoDB 支持。

  • 6.索引实现不一样
    虽然 MyISAM 引擎和 InnoDB 引擎都是使用 B+Tree 作为索引结构,但是两者的实现方式不太一样。
    InnoDB 引擎中,其数据文件本身就是索引文件。相比 MyISAM,索引文件和数据文件是分离的,其表数据文件本身就是按 B+Tree 组织的一个索引结构,树的叶节点 data 域保存了完整的数据记录。


http://www.ppmy.cn/news/335410.html

相关文章

服务器机械硬盘寿命一般多少,机械硬盘的使用寿命:正常使用,完全可以10年以上...

尽管现在固态硬盘大行其道,不少人甚至觉得固态硬盘取代机械硬盘的时候到来了,但是我们别忘了,硬盘最重要的还是存储功能,存储的关键除了容量以外还有安全性,机械硬盘至今仍然是可靠性最高的硬盘,机械硬盘结…

笔记本换SSD固态硬盘,系统速度可以提升吗?

在老笔记本上,我们的系统都是安装在机械硬盘上,而机械硬盘由于本身的缺陷,延迟很大,读写速度非常慢。将机械硬盘更换为固态硬盘,已经成为很多朋友让老笔记本重新焕发青春的大招! 了解了更换固态硬盘的优势…

计算机机械硬盘寿命,有问有答:电脑的机械硬盘和固态硬盘哪个寿命更长?

拼 命 加 载 中 ... 因为SSD所用的闪存的是有写入次数限制的,所用大家都认为它的寿命比HDD要低,从理论上来说呢这是对的,在理想情况下HDD的使用寿命确实要比SSD高,然而这是在无振动还有温度正常的情况下的事情,实际上H…

硬盘的寿命有多久?

在过去30年里,硬盘一直是存储的主力,没有人会怀疑硬盘在整个电脑中的重要作用,硬盘通常都会存储用户比较重要的信息,鉴于我们对于硬盘的严重依赖,人们都不约而同地关心一个重要的问题:硬盘的寿命到底有多久? 通常的说法是,机械硬盘的理论寿命大概有3万小时以上,一般硬…

ssd测试软件寿命查看,铅锤哥:怎么看SSD还能用多久?固态硬盘寿命的检测方法...

点击上面↑ 玩转电脑 关注铅锤哥,轻松学电脑 关于固态硬盘和机械硬盘的对比,铅锤哥发过好几篇文章了。理论上来说呢,固态硬盘的寿命是不如机械硬盘的,不过实际使用情况下,SSD由于抗震能力强,实际用起来寿命可能比机械硬盘还长,毕竟很多机械硬盘都是高速旋转过程中,受到…

计算机主机寿命多长,一般电脑的寿命是多久

一般电脑的寿命是:1、电脑是由多个电子元件组装的,但元件间寿命长短不一,一般来说电脑的使用寿命不低于8年;2、如果保养一般,或者使用频率一般,使用的时间一般是5到8年左右;3、保养好,使用频率不是极高的话,使用8到10年是可以的。 一般电脑的寿命是: 这个其实没有固定…

企业级SSD 寿命要怎么看?

从SLC、MLC,到今天的TLC乃至QLC,技术的迭代使得NAND存储密度越来越高,每GB的拥有成本也越来越低。如今,几TB甚至十几TB的企业级NVMe SSD已经开始成为主流,但另一方面,NAND的Cell擦写寿命越来越短&#xff0…

镁光固态硬盘用什么软件测试寿命,最简单的方法:如何查看SSD可以使用多长时间?固态硬盘寿命测试方法[详细]...

就固态硬盘和机械硬盘之间的比较而言,理论上固态硬盘的使用寿命不如机械硬盘好。但是,由于其强大的抗冲击性,因此在实际使用中,SSD的使用寿命可能比机械​​硬盘更长。毕竟,许多机械硬盘都在高速旋转过程中&#xff0c…