簡體   English   中英

同時使用MyIsam和Innodb

[英]Using both MyIsam & Innodb

在過去的幾天里,我在決定使用MyIsam還是Innodb時都感到非常困惑,因為兩者都有各自的優缺點。 我的表將包含大量數據,並且需要進行大量的INSERT,UPDATE和SELECT操作。

我決定創建兩個結構相同的表。 tbl_mytbl_innodb(innodb engine)tbl_mytbl_myisam(myisam engine) ,然后我在tbl_mytbl_innodb為INSERT和UPDATE事件創建了兩個觸發器, tbl_mytbl_innodb觸發器將插入/更新tbl_mytbl_myisam 因此,它將始終寫入tbl_mytbl_innodb並從tbl_mytbl_myisam讀取。

這個過程是否正確,還是我需要做一個更好的方法?

那是一個愚蠢的路。 如果需要事務處理+外鍵全文索引,則應同時使用兩者。 您將使用觸發器來同步MyISAM表中的全文字段,否則將所有內容保留在InnoDB中。

在少數情況下,MyISAM比InnoDB更可取,主要的情況是InnoDB中缺乏全文本支持。

我會說這與正確的過程相反。 我個人的建議是將InnoDB用於幾乎所有業務活動,因為它支持事務...我發現MyISAM的唯一用途是全文搜索(不知道為什么它在InnoDB中不可用),但我自由地承認這是個人喜好。

使用觸發器在多個表之間同步相同數據不是很好。 定義您的業務需求並選擇引擎。 如果您需要將另一個引擎用於特定要求,請對其進行定義並根據需要填充數據的子集。

暫無
暫無

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

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