gpt4 book ai didi

mysql - 当我们构建集群存储时,MyISAM 引擎是否比 InnoDB 更可取?为什么会这样?

转载 作者:可可西里 更新时间:2023-11-01 07:47:06 26 4
gpt4 key购买 nike

我今天在面试 Java 开发人员时听到了这个。我不得不列出 MyISAM 相对于 InnoDB 的一些优势,以及为什么它仍然被广泛使用。作为这个问题的标题,他们正等着听到我的答案。

正如我从他们自己的回答中了解到的那样:MyISAM 没有外键,数据库可以很容易地集群(例如每个服务器一个表)。但是为什么我们不能简单地创建没有外键的 InnoDB 表呢?这个解释对我来说听起来很奇怪..

最佳答案

这里没有 Elixir 。在决定将哪一种用于任何特定应用程序之前,您需要了解每种方法的优缺点。

InnoDB:

  • 支持 FK 的
  • 支持交易
  • 使用大内存缓冲区进行操作
  • 支持行级锁定
  • 但维护成本要高得多——您确实需要调整内存使用、配置表文件等。

MyISAM:

  • 有很多 InnoDB 没有的特殊列功能,比如:
    • 全文索引
    • 空间列(我很确定这不适用于 InnoDB)
  • 对于主要读取/附加用例非常快(用于更新、删除的表锁,但不用于插入)
  • 通常也有更快的插入
  • 在内存中缓存索引(键缓冲区),但依赖操作系统来缓冲实际的数据页

例如,我会将 InnoDB 用于电子商务、用户数据库或任何我想在其中使用事务的事物。

对于数据仓库、日志记录、报告等,我可能会使用 MyISAM。

关于mysql - 当我们构建集群存储时,MyISAM 引擎是否比 InnoDB 更可取?为什么会这样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1647023/

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