InnoDB 表是否更难备份且速度更慢?

est*_*r h 4 mysql database-design

我正在尝试优化我们的数据库表。我有一些 sql 技能,但完全是 db 管理的新手。我们的数据库操作很慢,我被分配到检查存储引擎和创建索引。所以,事情是这样的……我们的大多数表都是 MyISAM。大多数表都用于读取和写入,不断。这些表也非常相关,大多数选择从至少 4 或 5 个表中拉取。经过几个小时阅读最近的博客文章和堆栈交换答案 - 看起来 InnoDB 将是要走的路。

但是,我们的数据库是托管的,在与我们的主机简要讨论切换到 InnoDB 后,他提出了以下投诉

  • InnoDB 在大多数情况下都比较慢
  • InnoDB 很难备份
  • InnoDB 仅在您对具有 udpates 和插入的表进行复杂连接时才会发挥作用。

所以这是我的问题 - 他的投诉有效吗?我应该只选择选定的几个表来转换为 InnoDB,那些连接非常复杂的表吗?

谢谢

Abd*_*naf 6

看看这个链接InnoDB 和 MyISAM 之间的主要区别是什么。?

在研究了这一点之后,您将能够决定要做什么。

从你的问题来看:

1.InnoDB 在大多数情况下都比较慢

设计良好的 InnoDB 表并不是真的很好

性能不佳的原因可能是

索引使用不当

表中的碎片

innodb 变量设置不当,如 innodb_buffer_pool 、日志文件、表空间的配置方式

可能有很多原因导致它表现不佳。看看如何调整 InnoDB 性能

2.InnoDB很难备份

备份 InnoDB 表也不是很困难,因为它的表空间/日志文件/frm 文件,有时您可能会觉得很难。对于大型 MyISAM 表,您可以使用复制操作直接复制数据库和这是相当快的。

因此,您可能会觉得备份 InnoDB 很困难,但事实并非如此。

InnoDB 表也有适当的备份技术,请参阅此备份和恢复 InnoDB 数据库的以下链接

3.InnoDB 仅在您对具有 udpates 和插入的表进行复杂连接时才会发光。

不,它们也可以在 MyISAM 可以的所有情况下表现良好。