簡體   English   中英

我可以在ONE數據庫中使用InnoDB和MyISAM表嗎?

[英]Can I use InnoDB and MyISAM tables in ONE database?

顯然兩者都有其益處。 MyISAM很快但可能很容易被破壞,InnoDB很慢但由於交易和外鍵更穩定。 因此,將兩個引擎混合在一個數據庫中可能會很好。 如果那可能嗎?

記得! 可以在同一個數據庫中混合表類型! 事實上,它是推薦的,經常需要。 但是,請務必注意,如果在加入這兩種類型時遇到性能問題,請嘗試將其中一種轉換為另一種,然后查看是否可以修復它。 這個問題不經常發生,但已有報道。

取自MySQL - InnoDB vs MyISAM

當然,那是可能的。

CREATE TABLE MyISAM_tbl(
    ....
)ENGINE=MyISAM;

CREATE TABLE InnoDB_tbl (
    ....
)ENGINE=InnoDB;

我一直這樣做,因為我更喜歡InnoDB用於FK,但我有時需要MyISAM進行全文搜索。 從來沒有遇到過問題。

總之是的。 (CREATE TABLE允許您指定引擎類型。)

但是,在查詢多個表類型時必須小心。 (例如,您無法利用MyISAM上的外鍵,也無法提交影響MyISAM表的事務等)

從本質上講,我懷疑這可能不是最好的方法。 (除非您只需要從數據庫的其余部分分段的一組已定義的表的事務,並且InnoDB太慢,否則獲得更快的數據庫服務器可能會減少痛苦。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM