本文介绍了从MyISAM更改为InnoDB时,您是否需要了解任何陷阱/事情?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的一个项目使用MySQL中的MyISAM引擎,但是我正在考虑将其更改为InnoDB,因为我在这里和那里都需要事务支持.

One of my projects use the MyISAM engine in MySQL, but I'm considering changing it to InnoDB as I need transaction support here and there.

  • 在执行此操作之前,我应该查看或考虑什么?
  • 我可以只更换引擎,还是应该为其准备数据?

推荐答案

是的,有很多事情,您应该对应用程序进行彻底的测试:

Yes absolutely, there are many things, you should test your application extremely thoroughly:

  • 事务可能会死锁,需要重复进行.即使在自动提交的事务仅插入一行的情况下,也是如此(在某些情况下).
  • 光盘使用量几乎肯定会增加
  • 写入期间的I/O负载几乎可以肯定会增加
  • 由于InnoDB使用聚集索引,索引的行为将发生变化-在某些情况下这可能是有益的效果
  • 您的备份策略将受到影响.仔细考虑一下.

需要仔细计划迁移过程,因为如果您有很多数据,迁移过程将花费很长时间(在这段时间内数据将为只读或完全不可用-请检查!)

The migration process itself will need to be carefully planned, as it will take a long time if you have a lot of data (during which time the data will be either readonly, or completely unavailable - do check!)

这篇关于从MyISAM更改为InnoDB时,您是否需要了解任何陷阱/事情?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-21 10:43