像%query这样的mysql使用全文索引很慢

Noa*_*oam 10 mysql database

我正在使用这样一个简单的mysql LIKE查询:
SELECT * FROM myTable WHERE field LIKE 'aaa%' ORDER BY field2

我在"字段"上有一个全文索引,但它仍然很慢.我知道有一个选项可以使用匹配.有什么不同?怎么样?我使用的最佳方法是什么?请注意我使用"%"表示以"aaa"开头的所有内容

更新:我最终使用了这样的东西: SELECT
*, MATCH (name) AGAINST ('a*' IN BOOLEAN MODE) AS SCORE
FROM
users WHERE
MATCH (name) AGAINST ('a*' IN BOOLEAN MODE)
ORDER BY SCORE, popularity DESC LIMIT 4

我想改变的一件事是,首先不是SCORE的顺序,而是我的现场流行度,而是通过一个简单的权重函数来命令,比如0.5*SCORE + 0.5*流行度.怎么样?

Jac*_*cob 10

LIKE不使用全文索引.要使用全文索引,您必须使用匹配(如您所说):

SELECT * 
FROM myTable 
WHERE MATCH(field) AGAINST ('aaa*' IN BOOLEAN MODE)
ORDER BY field2
Run Code Online (Sandbox Code Playgroud)

MySQL手册有一个广泛的章全文搜索功能.