MySQL 共享托管 : db is MyISAM, 尽管所有创建的表都是 InnoDB。我可以切换吗?我是不是该?

标签 mysql database innodb shared-hosting myisam

我的问题是关于共享托管 Linux 服务器上的数据库类型。 phpMyAdmin 显示 db 具有 MyISAM 类型。我认为我无法改变它。我的意思是我不知道。 该数据库中的所有表都具有 InnoDB 类型。 将数据库类型更改为 InnoDB 有意义吗?我是不是该? (我不知道是否可以在共享托管服务器上选择数据库类型)。 当然,我可以联系客户支持并要求他们如果可以的话进行切换,但我不知道这是否有意义并且有什么优点。

我应该照顾它吗?

谢谢enter image description here 。 补充:上图是phpMyAdmin的截图。

最佳答案

这是服务器的默认存储引擎。如果创建表时未指定存储引擎,则服务器将选择 MyISAM 作为默认存储引擎

例如,在我的服务器上,InnoDB 是默认值。

mysql> show engines\G
*************************** 1. row ***************************
      Engine: InnoDB
     Support: DEFAULT
     Comment: Supports transactions, row-level locking, and foreign keys
Transactions: YES
          XA: YES
  Savepoints: YES

同时回答你的第二个问题。是的,您可以更改存储引擎。您可以使用 ALTER TABLE 命令来完成此操作。

ALTER TABLE mytable ENGINE=MYISAM;

我建议不要更改存储引擎,除非您对引擎中的某个功能有特定需求。

关于MySQL 共享托管 : db is MyISAM, 尽管所有创建的表都是 InnoDB。我可以切换吗?我是不是该?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8275407/

相关文章:

php - 按列对行进行排序,同时将具有公共(public)列的行放在一起

mysql - 如何区分哪些变量用于 innodb 引擎或 MyIsam 引擎?

php - 如果引擎是 MyISAM,表中没有外键

.net - 尝试在 .net 中使用 Mysql

mysql - 根据另一个查询的结果为新 ID 插入重复行

php - 将数组插入数据库表

asp.net - 在 asp.net 的购物车中存储产品信息的理想方式

mysql - 将MySQL数据库复制到另一台机器

Java DB Derby 驱动程序加载

mysql - DBI 下批量事务 DELETE 导致 InnoDB 锁耗尽