从 innodb 转换为 MyISAM 以获得全文
Convert from innodb to MyISAM for fulltext
我想在大 table 中使用 fulltext
,但我无法更新 mysql 以支持 innodb
中的 fulltext
或使用外部搜索引擎。
所以我想我有两个选择。
1.Using innodb
并使用 LIKE
搜索数据库
2.Convert 我的 table 到 MyISAM
我不知道什么是最好的方法,需要帮助。
选项 3 更好:升级到 MySQL 5.6,其中 FULLTEXT
indexes are supported on InnoDB。
如果你做不到这一点,那你真的是在自找麻烦。
使用 #1 是徒劳的,即使是最普通的数据库也无法扩展。
选择 #2 是一个错误的选择,MyISAM 是一个出了名的麻烦的数据库引擎,它不支持事务或日志记录。数据完整性始终是 近似值 ,并且服务器崩溃可能会使您的数据库陷入无法使用的状态,因为没有用于恢复的事务日志,并且流式复制不是一种选择。
另一种方法是使用附加搜索工具,例如 Sphinx。如果这是不行的,你真的需要重新评估你的约束。
老实说,升级到 MySQL 5.6 是无缝的。大多数就地升级都可以完美运行。
我想在大 table 中使用 fulltext
,但我无法更新 mysql 以支持 innodb
中的 fulltext
或使用外部搜索引擎。
所以我想我有两个选择。
1.Using innodb
并使用 LIKE
2.Convert 我的 table 到 MyISAM
我不知道什么是最好的方法,需要帮助。
选项 3 更好:升级到 MySQL 5.6,其中 FULLTEXT
indexes are supported on InnoDB。
如果你做不到这一点,那你真的是在自找麻烦。
使用 #1 是徒劳的,即使是最普通的数据库也无法扩展。
选择 #2 是一个错误的选择,MyISAM 是一个出了名的麻烦的数据库引擎,它不支持事务或日志记录。数据完整性始终是 近似值 ,并且服务器崩溃可能会使您的数据库陷入无法使用的状态,因为没有用于恢复的事务日志,并且流式复制不是一种选择。
另一种方法是使用附加搜索工具,例如 Sphinx。如果这是不行的,你真的需要重新评估你的约束。
老实说,升级到 MySQL 5.6 是无缝的。大多数就地升级都可以完美运行。