gpt4 book ai didi

mysql - MyISAM 是否有丢失数据的风险?

转载 作者:太空宇宙 更新时间:2023-11-03 10:37:09 25 4
gpt4 key购买 nike

我有一系列 MyISAM 数据库表,正在阅读一些关于它在完整性方面不如 InnoDB 的观点。不过具体来说,该帖子继续进行,似乎暗示您可能会丢失数据。我当然找不到链接(典型的运气吧?)但我确实记得上面提到的要点。

是否有可能在插入过程中丢失实际行?我的假设是这不是真的,但我会对社区所说的话感兴趣。

谢谢!

最佳答案

MyISAM 对事务的支持为零,因此,它无法确保事务的完整性。它没有可用于从崩溃中恢复的日志。简而言之,它很脆弱并且容易出现严重故障,尤其是当您的系统在大写入过程中突然终止时。

您很有可能在写入过程中丢失数据。 InnoDB 的不同之处在于写入本身直到完成才真正提交,有一种机制可以在修改期间保持数据库完整性,这样如果出现故障,它可以“回滚”到以前的状态。 MyISAM 没有这样的机制,并且受文件系统的摆布,以将其从完全损坏中拯救出来。

我强烈建议不要将 MyISAM 用于任何重要的事情,或者如果可以避免的话根本不要使用 MyISAM。它在 1990 年代很有用,当时内存非常宝贵且 CPU 能力稀缺,典型的高端 MySQL 服务器可能有 512MB 内存、两个 200MHz 处理器和一对 9GB 磁盘RAID1 配置。每一点点的表现都很重要。 InnoDB 变得更快了,日记的性能损失也大大减少了,尤其是在 SSD 上。

你不会使用没有日志的文件系统,所以你也不应该使用没有日志的数据库。

关于mysql - MyISAM 是否有丢失数据的风险?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46066734/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com