Cal*_*Cal 27
如果您的查询看起来像foo LIKE 'abc%'或,MySQL可以使用索引foo LIKE 'abc%def%'.它可以使用第一个通配符之前的任何部分或字符串的索引.如果需要在字符串中的任何位置匹配单词,则可能需要考虑使用FULLTEXT索引.
有关索引的更多详细信息:http://dev.mysql.com/doc/refman/5.1/en/mysql-indexes.html
全文检索:http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html
那么,最简单的优化将是具有恒定的前缀(如"test%"代替"%test"或"%test%"),因为这将让发动机来缩小指数使用的搜索空间。但是,并非在所有情况下都可行。
有时,预处理步骤可以将通配符搜索转换为普通等式或全文搜索。通过寻找一种结构化数据的方式,使您不需要通配符搜索即可获得更多收益,而不仅仅是尝试优化后者。