mysql - innoDB MySQL 中的关键字研究

标签 mysql search innodb

问题:我有一个包含与“标签”关联的“关键字”的表格。 由于查询,我必须找到与输入字符串关联的标签。

示例:

DB (table):
keywords| label     | weight
PLOP    | ploplabel | 12
PLOP    | ploplbl   | 8
TOTO    | totolabel | 4
...     | ...       | ...

输入字符串:“PLOP 123”

应该返回:“ploplabel”

对于部分关键字研究,我脑海中的第一个本能查询是:

SELECT label FROM table WHERE keywords LIKE "%inputstring%" ORDER BY weight DESC

但正如您可能已经看到的,这与我需要的相反,例如:

SELECT label FROM table WHERE %keywords% LIKE "inputstring" ORDER BY weight DESC

这是我们可以在 MySQL 中做的事情吗(innoDB === 没有全文)?

最佳答案

使用 innodb 构建您的系统并创建一个 myisam 全文表以索引回您的 innodb 数据。这样您就可以获得 innodb 引擎的所有优势:聚簇主键索引、行级锁定和由一个或多个 myisam 表的全文功能补充的事务。

Any way to achieve fulltext-like search on InnoDB

关于mysql - innoDB MySQL 中的关键字研究,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5310104/

相关文章:

sql - MySQL:每日平均值

mysql - PDO 基本选择查询

mysql - 按标题高效地从 Wiki 转储中获取文章

php - 使用 Laravel 查询多个字段

mysql - 按组合并行

php - 如何使 PHP 进行此查询

Xcode 在输出日志中查找/搜索文本

mysql - 即使表和引擎的数据类型相同也无法创建外键?

MySQL 可选的 LEFT JOIN With MATCH

mysql - MyISAM 在几乎只读的表中会更好吗?