如果 MySQL table 的引擎从 MySAM 更改为 InnoDB,软件或站点会受到影响吗?
Software or site can be affected if the engine of a MySQL table is changed from MySAM to InnoDB?
我知道这个问题的答案可能是否定的!但只是为了仔细检查,如果您将多个程序链接到当前使用 MySAM 引擎的不同 MySQL 表,然后我将引擎更改为 InnoDB,这是否会影响数据库外部的任何内容?例如无法检索数据、插入数据、调用存储过程等
软件可以使用不同的语言,例如 PHP、JAVA、Visual Fox、.Net 等
没有。
您唯一应该检查的是 - 代码中是否有任何内容可以创建表并具有引擎的直接指令(类似于 ENGINE=MyISAM)。
ADD:和ofc官方手册http://dev.mysql.com/doc/refman/5.7/en/converting-tables-to-innodb.html
从 MyISAM 切换到 InnoDB 时,有许多差异需要考虑。他们是 enumerated here.
如你所说,答案是"No"。但是,有些东西可能会从 MySQL 泄漏回客户端。 FULLTEXT
不太一样。在某些情况下,您可以使用 InnoDB 获得 0 个结果,但使用 MyISAM 则不行。有些事情可能需要更长的时间,特别是如果您没有按照上面 link 中的指示调整索引。 LOCK TABLES
应替换为 BEGIN
(等等);这涉及客户端代码。 InnoDB 的磁盘 space 明显更大。
是的,key_buffer_size
应该降低到,比方说,40M; innodb_buffer_pool_size
应设置为可用 RAM 的大约 70%。这是一个很大的性能问题。
我知道这个问题的答案可能是否定的!但只是为了仔细检查,如果您将多个程序链接到当前使用 MySAM 引擎的不同 MySQL 表,然后我将引擎更改为 InnoDB,这是否会影响数据库外部的任何内容?例如无法检索数据、插入数据、调用存储过程等
软件可以使用不同的语言,例如 PHP、JAVA、Visual Fox、.Net 等
没有。 您唯一应该检查的是 - 代码中是否有任何内容可以创建表并具有引擎的直接指令(类似于 ENGINE=MyISAM)。
ADD:和ofc官方手册http://dev.mysql.com/doc/refman/5.7/en/converting-tables-to-innodb.html
从 MyISAM 切换到 InnoDB 时,有许多差异需要考虑。他们是 enumerated here.
如你所说,答案是"No"。但是,有些东西可能会从 MySQL 泄漏回客户端。 FULLTEXT
不太一样。在某些情况下,您可以使用 InnoDB 获得 0 个结果,但使用 MyISAM 则不行。有些事情可能需要更长的时间,特别是如果您没有按照上面 link 中的指示调整索引。 LOCK TABLES
应替换为 BEGIN
(等等);这涉及客户端代码。 InnoDB 的磁盘 space 明显更大。
是的,key_buffer_size
应该降低到,比方说,40M; innodb_buffer_pool_size
应设置为可用 RAM 的大约 70%。这是一个很大的性能问题。