当前位置: 首页 > 面试题库 >

什么时候使用MyISAM和InnoDB?[重复]

凌朗
2023-03-14
问题内容

这个问题已经在这里有了答案

MyISAM与InnoDB [已关闭]
(25个答案)

7年前关闭。

MyISAM的设计思想是查询数据库远不止其更新,因此它执行非常快的读取操作。如果您的读写(插入|更新)比率小于15%,则最好使用MyISAM。

InnoDB使用行级锁定,具有提交,回滚和崩溃恢复功能来保护用户数据。支持交易和容错

以上区别是正确的MyISAM和InnobDB之间吗? 请指导MYISAM和InnobDB是否有其他限制。
我应该何时使用MyiSAM或何时使用Innodb?
谢谢!


问题答案:

阅读有关 存储引擎的信息

MyISAM:

MySQL中的MyISAM存储引擎。

  • 设计和创建更简单,因此对初学者来说更好。不用担心表之间的外部关系。
  • 由于结构简单,因此总体上比InnoDB更快,因此服务器资源成本大大降低。-不再是真的。
  • 全文索引。-InnoDB现在拥有它
  • 特别适合读取密集型(选择)表。-不再是真的。
  • 磁盘占用空间比InnoDB少2到3倍。-从5.7版开始,这也许是MyISAM的唯一真正优势。

InnoDB:

MySQL中的InnoDB存储引擎。

  • 支持交易(使您支持ACID属性)。
  • 行级锁定。与MyISAM相比,拥有更细粒度的锁定机制可以为您提供更高的并发性。
  • 外键约束。让您让数据库确保数据库状态以及表之间关系的完整性。
  • InnoDB比MyISAM更能抵抗表损坏。
  • 支持用于数据和索引的大型缓冲池。MyISAM密钥缓冲区仅用于索引。
  • MyISAM停滞不前;将来所有的增强功能都将在InnoDB中。8.0版的推出使这一点变得十分清楚。

MyISAM的局限性:

  • 没有外键和级联的删除/更新
  • 没有交易完整性(符合ACID)
  • 没有回滚功能
  • 4,284,867,296行限制(2 ^ 32)-这是旧的 默认值 。(许多版本)可配置的限制为2 ** 56字节。
  • 每个表最多64个索引

InnoDB的局限性:

  • 没有全文索引(低于5.6的mysql版本)
  • 无法压缩为快速只读(已引入5.5.14 ROW_FORMAT=COMPRESSED
  • 您无法修复InnoDB表

为了简短理解,请阅读以下链接:

  1. MySQL引擎:InnoDB与MyISAM –优缺点的比较
  2. MySQL引擎:MyISAM与InnoDB
  3. InnoDB和MyISAM之间的主要区别是什么?
  4. MyISAM与InnoDB
  5. MyISAM和InnoDB有什么区别?
  6. MySql:MyISAM与Inno DB!


 类似资料:
  • 问题内容: 这个问题已经在这里有了答案 : MyISAM与InnoDB [已关闭] (25个答案) 6年前关闭。 我知道以前曾有人问过这个问题,但大多数时候都是针对特定的数据库或表提出这个问题。我无法在此站点上找到描述这两个引擎及其区别的答案,而不必顾及某人的特定数据库。 我希望将来能够在设计表或数据库方面做出更明智的决定,因此我正在寻找有关两个存储引擎之间差异的全面答案。 MyISAM和Inno

  • 本文向大家介绍请介绍一下,数据库索引,以及,什么时候用Innodb什么时候用MyISAM。相关面试题,主要包含被问及请介绍一下,数据库索引,以及,什么时候用Innodb什么时候用MyISAM。时的应答技巧和注意事项,需要的朋友参考一下 考察点:数据库   存储引擎 索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。如果想按特定职员的姓来查找他或她,则与在表

  • 问题内容: 什么是和在? 问题答案: 和是用于的存储引擎。 两者在锁定实现上有所不同:锁定表中的特定行,并锁定整个表。 您可以在数据库中创建表时通过给出OR 来指定类型。

  • MyISAM 适合于一些需要大量查询的应用,但其对于有大量写操作并不是很好。甚至你只是需要update一个字段,整个表都会被锁起来,而别的进程,就算是读进程都无法操作直到读操作完成。另外,MyISAM 对于 SELECT COUNT(*) 这类的计算是超快无比的。 InnoDB 的趋势会是一个非常复杂的存储引擎,对于一些小的应用,它会比 MyISAM 还慢。他是它支持“行锁” ,于是在写操作比较多

  • 问题内容: 奇怪的是: 似乎或多或少被定义为。通过这种方式很容易产生错误: 一些fname意外地以else块结尾。修复很简单,我们应该改用它,但是从表面上看,这似乎是一种不错的pythonic方式,并且比“正确”的方式更具可读性。 由于字符串是不可变的,所以为什么字符串错误是什么技术细节?什么时候进行身份检查更好,什么时候进行平等检查更好? 问题答案: 据我所知,检查对象身份是否相等。由于没有强制

  • 问题内容: 我有一个将客户发送到另一个站点来处理付款的应用程序。客户之外的另一个站点在我们的服务器上调用一个页面,让我们知道付款的状态。被调用页面会检查付款应用程序提供的参数,并检查我们是否知道该交易。然后,它更新数据库以反映状态。这一切都无需与客户进行任何互动即可完成。 我个人选择将此功能实现为JSP,因为将文件拖放到文件系统中比编译和打包文件然后将条目添加到配置文件中要容易得多。 考虑到页面的