我有一张myISAM表,有250万行和上升行。我需要全文搜索,这是myisam。
对stackoverflow做了一些研究后,我正在研究再次创建表作为InnoDB表,然后在myISAM中创建一个副本。然后我将创建触发器,将innodb表中的任何更改复制到myisam表。
innodb表可以更好地运行,因为它以事务方式工作,并且在写入或更新时不会锁定整个表。
我的问题是:我是否会在myisam表中看到很多好处,因为它肯定会像以前一样经常写入,因为每次写入innodb表都会导致后续写入myisam。
感激地收到任何建议或其他想法。
布雷特
答案 0 :(得分:0)
使用触发器从MyISAM复制到InnoDB时,可能会在回滚事务时创建不一致的数据。
更好的想法可能是安装像Sphinx这样可以与InnoDB表一起使用的全文搜索引擎。
另一个想法是使用事件调度程序定期将MyISAM与InnoDB同步。您冒全文本搜索会返回陈旧数据的风险,但另一方面,这应该对性能影响较小,至少您知道每次同步后数据是一致的。
还有一些好消息:从MySQL 5.6 InnoDB开始获取全文搜索。