[英]MySQL shared hosting: db is MyISAM, although all created tables are InnoDB. Can I switch? Should I?
我的問題是關於共享主機Linux服務器上的db類型。 phpMyAdmin顯示db具有MyISAM類型。 我認為我不能改變它。 我的意思是我不知道。 該數據庫中的所有表都具有InnoDB類型。 將db類型更改為InnoDB是否有意義? 我是不是該? (我不知道我是否可以在共享托管服務器上選擇數據庫類型)。 當然,我可以聯系客戶支持並要求他們切換,如果他們可以,但我不知道它是否有任何意義,並有任何專業人士。
我應該好好照顧嗎?
謝謝 。 補充:上面的圖片是phpMyAdmin的截圖。
您可能會誤解,數據庫沒有存儲引擎 。
存儲引擎適用於表。
您只能切換表的存儲引擎。
但是,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;
在未指定存儲引擎的情況下創建新表時
數據庫上的默認存儲引擎類型將應用於它。
創建數據庫后,沒有直接的方法來更改數據庫默認存儲引擎
解決方法是使用您所需的默認存儲引擎創建一個新數據庫,
然后將當前駐留在現有數據庫中的所有表重命名為此數據庫。
這是服務器的默認存儲引擎。 如果在創建表時未指定存儲引擎,則服務器會選擇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;
我建議不要更改存儲引擎,除非您特別需要引擎中的功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.