mysql - 在 MySql 表上进行全文搜索(Innodb 与 ISAM)

标签 mysql

我正在设计一个使用 Mysql 作为后端的 Web 应用程序 - 并使用 INNodb 表来维护外键关系。

现在我有了这个表格视频,它有一个列标签,其中包含我需要执行搜索的关键字。现在因为这个表是 Innodb 我不能使用 Mysql 的全文搜索功能。

现在我没有将视频表更改为 MyIsam 并打破所有外键约束 - 我正在考虑创建另一个名为 video_tags 的 MyIsam 类型的表,它将包含标签列和 video_id(视频表的主键)。

所以在我的数据库中,除了 video_tags 表之外,所有表都是 Innodb。 这是处理这个问题的正确方法吗? 感谢您的建议。

最佳答案

您可能遇到的唯一问题是 MyISAM 表不支持事务。因此,如果您启动事务,将数据写入 InnoDB 和 MyISAM 表,然后回滚,对 INNODB 的更改将被回滚,但对 MyISAM 的更改不会。

你也可以考虑使用像 Sphinx 这样的东西用于搜索。

关于mysql - 在 MySql 表上进行全文搜索(Innodb 与 ISAM),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4243341/

相关文章:

php - Textarea 没有在 php 中显示。什么是错误?

mysql - Postfix : Virtual domain,邮箱,别名:本地生成邮件的未知用户(使用sendmail)

MySQL存储过程-如何引用内部创建的记录集

mysql - 删除第n行mysql

php - 我想在 .CSS 中使用 .php 创建一个 "message"之类的窗口,并从 mysql 中获取。每行一个新 block

php - MySQL 查询警告

Php 跳过第一个 MySQL 行。不是常见的 double fetch() 错误

派生表中的 MySQL 联合 (related_id=a AND related_id=b) OR (related_id=z)

MySQL固定类别的id,如何确保它们是静态的

MYSQL查询减少条件中的内部查询