我发现了很多问题,但没有解决办法。
当搜索条件以通配符开头时,索引不能用于加速查询:
LIKE '%text%'索引可以(也可能是,视选择性而定)用于表单的搜索术语:
LIKE 'text%'所以这意味着我不能在一个大表中使用一个完整的通配符吗?
发布于 2016-04-21 08:55:57
一点儿没错。这就是为什么某些数据库对文本使用替代索引机制的原因。Server具有完整的文本索引功能,其工作方式是将字符串分解为单词,删除糟糕的字符串(如英语中的" in“--经常发生),然后使用不同的语法在文本索引中查找单词。
标准SQL索引根本不适合该任务。
在谷歌运行30秒后,MySQL似乎也有了全文搜索机制。
https://dba.stackexchange.com/questions/136057
复制相似问题