目前我在我的应用程序的一部分,我需要使用MySql like来搜索包含100000+行的mysql表中的字符串。当我进行研究时,我发现MySql like不使用索引,但是如果在字符串的末尾有通配符,例如:hello%,但我需要%hello%,它的like在这些通配符中不使用索引。我还在互联网上读到,还有其他技术,比如postgresql,它可以让你使用索引来搜索字符串。我的问题是,仅仅因为like,我是否需要将MySql DB的所有其他功能更改为postgresql D
它有以下索引:*************************** 13. row ***********************然而,令我惊讶的是,它几乎选择使用主键索引来扫描尽可能多的行。以下几点看起来毫不含糊(而且明显)优越:
mysql> explain select * from `table` USE INDEX (myindex) WHERE (`table`.我知道它可能重视顺序读取,但为什么它会选择2000行的索引