2012-02-28 45 views
1

我有一個2.5萬行和上升行的myISAM表。這是myisam,因爲我需要全文搜索。mysql觸發器的好處解決方法Innodb缺乏全文搜索

已經做了一些關於stackoverflow的研究,我正在研究創建表作爲InnoDB表,然後在myISAM中創建一個副本。然後我將創建觸發器,它將innodb表中的任何更改複製到myisam表中。

innodb表的功能會更好,因爲它的工作原理並不會在寫入或更新時鎖定整個表。

我的問題是:我會在myisam表中看到很多好處,因爲它肯定會像以前一樣被寫入,因爲每次寫入innodb表後都會導致後續寫入myisam。

任何建議,或感激地收到其他想法。

佈雷特

回答

0

使用觸發器從MyISAM數據複製到InnoDB的具有創建不一致的數據,當回滾事務的風險。

一個更好的主意可能是安裝一個全文搜索引擎,如Sphinx,它可以與InnoDB表一起工作。

另一個想法是使用事件調度程序定期將MyISAM與InnoDB同步。您冒着全文搜索將返回陳舊數據的風險,但另一方面,這應該對性能產生較小的影響,並且至少您知道每次同步後數據都是一致的。

另外一些好消息:從MySQL 5.6開始InnoDB獲取全文搜索。

+1

謝謝,我現在使用5.6和fulltext似乎在Innodb表上工作正常 – bertster 2012-04-08 07:03:52

+0

非常好!耶爲早期採用者:) – Mchl 2012-04-08 21:26:28