我們怎麼選擇合適的引擎?這裡簡單歸納一句話:「除非需要用到某些InnoDB不具備的特性,並且沒有其他辦法可以替代,否則都應該優先選擇InnoDB引擎。」
除非萬不得已,否則不建議混合使用多種儲存引擎,否則可能帶來一系列複雜的問題以及一些潛在的BUG。
使用不同引擎考慮的幾個因素:
1.交易
## 如果需要事務支持,那麼InnoDB或XtraDB目前最穩定。如果不需要交易且主要是SELECT和INSERT操作,MyISAM是不錯的選擇。
2.備份
若需要線上熱備份,InnoDB則是基本的選擇。
3.當機復原
資料量比較大的時候,系統崩潰後如何快速復原是需要考慮的問題,這也是許多人即使不需要事務支援也選擇InnoDB的原因。
轉換表的引擎:
1.ALTER TABLE
#
最簡單的方法是ALTER TABLE語句: mysql> ALTER TABLE mytable ENGINE = InnoDB; 這個語法適用於任何儲存引擎,但需要執行很長的時間。
轉換錶的儲存引擎,將會失去所有與原引擎相關的功能。
2.匯出與匯入############ ###可以使用mysqldump工具將資料匯出至文件,然後修改文件中CREATE TABLE語句的CRE儲存引擎,請注意修改表名。 ###### 同時請注意mysqldump工具預設會自動在CREATE TABLE語句前加上DROP TABLE語句,小心資料遺失。 ###### ###3.建立與查詢############ ###整合第一種與第二種,先建立新的儲存引擎表,然後再利用INSTER .... SELECT語法來導資料###mysql> CREATE TABLE innodb_table LIKE myisam_table; mysql>ALTER TABLE innodb_table ENGINE=InnoDB; mysql>INSTER INTO innodb_table SELECT * FROM myisam_table;
以上是MySQL選擇合適的引擎及引擎轉換的詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!