2012-02-28 41 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