仅从列开头使用MySQL匹配来进行匹配



我在一个巨大的选项卡上添加了全文索引以加快搜索速度,但找不到问题的解决方案

我有一条类似的线路

ID|TITLE|SOMETHING ELSE|

假设在这个表中,我有以下几行:

 10|Some text|fdsfsd|
 11|More some text|dfdsfsdffsdfsdf|

我只想匹配以"Some text"开头的那一行。

然后我过去用之类的小桌子

CCD_ 2。

但是,我如何才能通过match against来获得全文索引的优势,因为使用这样的查询:

WHERE match(TITLE) against('Some text')我会得到两排。

您可以使用FULLTEXT索引进行大规模匹配,然后细化结果,例如:

WHERE match(TITLE) against('Some text')
  AND TITLE like 'Some text%'

这将使FULLTEXT系统在应用其他标准之前缩小匹配选项的范围。

不过,请确保检查此功能的性能,并在数据库完全填充时通过执行EXPLAIN进行验证。有时优化器会做出奇怪的选择。

最新更新