我知道答案可能是绝对的NO!但是要仔细检查,如果你已经将几个程序链接到当前正在使用MySAM引擎的不同MySQL表,然后我将引擎更改为InnoDB,是否会影响数据库之外的任何内容?,就像无法检索数据一样,插入数据,调用存储过程等
软件可以使用不同的语言,如PHP,JAVA,Visual Fox,.Net等。
答案 0 :(得分:1)
没有。 你唯一应该检查的是 - 代码中有什么东西可以创建表并直接指示引擎(类似于ENGINE = MyISAM)。
ADD:和官方手册http://dev.mysql.com/doc/refman/5.7/en/converting-tables-to-innodb.html
答案 1 :(得分:1)
从MyISAM切换到InnoDB时需要考虑几十个差异。它们是enumerated here。
正如你所说,答案是“不”。但是,可能会有一些东西从MySQL泄漏回客户端。 FULLTEXT
不起作用。在某些情况下,您可以使用InnoDB获得0结果,但不能使用MyISAM获得0结果。有些事情可能需要更长的时间,特别是如果您没有调整上面链接中指示的索引。 LOCK TABLES
应替换为BEGIN
(等);这涉及客户端代码。 InnoDB的磁盘空间明显更大。
是的,key_buffer_size
应降低到40M; innodb_buffer_pool_size
应设置为可用RAM的70%左右。这是一个很大的性能问题。