我的问题是关于共享主机Linux服务器上的db类型。 phpMyAdmin显示db具有MyISAM类型。我认为我不能改变它。我的意思是我不知道。 该数据库中的所有表都具有InnoDB类型。 将db类型更改为InnoDB是否有意义?我是不是该? (我不知道我是否可以在共享托管服务器上选择数据库类型)。 当然,我可以联系客户支持并要求他们切换,但我不知道它是否有任何意义,并且有任何优点。
我应该照顾它吗?
谢谢。
补充:上面的图片是phpMyAdmin的截图。
答案 0 :(得分:1)
您可能会误解,数据库没有storage engine 存储引擎用于表格 您只能切换表的存储引擎。
但是,myisam不支持交易,
和innodb(mysql版本< 5.6)不支持全文搜索。
不知道哪个表在哪个数据库中,
我的猜测是你不应该改变存储引擎。
示例: -
http://demo.phpmyadmin.net/STABLE/index.php?lang=en&collation_connection=utf8_general_ci
phpmyadmin中显示的底行相当于: -
show create database YOUR_DATABASE;
在未指定存储引擎的情况下创建新表时,
数据库上的默认存储引擎类型将应用于它。
for mysql version 5.5, default storage engine is change to innodb.
创建数据库后,没有直接的方法来更改数据库默认存储引擎
解决方法是使用您所需的默认存储引擎创建一个新数据库 然后将当前驻留在现有数据库中的所有表重命名为此数据库。
答案 1 :(得分:1)
这是服务器的默认存储引擎。如果在创建表时未指定存储引擎,则服务器会选择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;
我建议不要更改存储引擎,除非您特别需要引擎中的功能。