仅对列开头的匹配使用MySQL匹配
我在一个巨大的选项卡上添加了全文索引,以加快搜索速度,但找不到解决问题的方法 我有这样一句话:仅对列开头的匹配使用MySQL匹配,mysql,sql,database,indexing,full-text-search,Mysql,Sql,Database,Indexing,Full Text Search,我在一个巨大的选项卡上添加了全文索引,以加快搜索速度,但找不到解决问题的方法 我有这样一句话: ID|TITLE|SOMETHING ELSE| 假设在这个表中,我有以下几行: 10|Some text|fdsfsd| 11|More some text|dfdsfsdffsdfsdf| 我只想匹配以“Some text”开头的行 然后我过去用小桌子之类的东西 其中的标题类似于“某些文本%” 但是,我如何使用match-on来准确地解释这一点,以利用全文索引的优势,因为使用这样的查询:
ID|TITLE|SOMETHING ELSE|
假设在这个表中,我有以下几行:
10|Some text|fdsfsd|
11|More some text|dfdsfsdffsdfsdf|
我只想匹配以“Some text”开头的行
然后我过去用小桌子之类的东西
其中的标题类似于“某些文本%”
但是,我如何使用match-on来准确地解释这一点,以利用全文索引的优势,因为使用这样的查询:
WHERE match(TITLE)on('Some text')
我将获得两行。您可以使用全文索引进行大规模匹配,然后优化结果,例如:
WHERE match(TITLE) against('Some text')
AND TITLE like 'Some text%'
这将使全文系统在应用其他标准之前缩小匹配选项的范围
但是,请确保在数据库完全填充时,通过执行EXPLAIN
来检查此功能的性能并进行验证。有时优化器会做出奇怪的选择。非常感谢,关键是减少成本;)