我正在尝试查询索引。
情景如下:
给定一个字符串 - 找到列'str'是该字符串的子串的所有行
我尝试过类似的事情:
SELECT str FROM tbl WHERE 'fullstring' LIKE CONCAT(str, '%');
但是 - 在使用EXPLAIN EXTENDED
检查查询时,这并没有达到我创建的索引。
在最糟糕的情况下,我可以通过使用嵌套集重建数据库来解决这个问题 - 但我真的很想不必沿着那条路走下去。
答案 0 :(得分:0)
应该使用索引。如果您的MySQL优化器没有选择正确的索引,那么您可以尝试使用FORCE KEY
尝试:
SELECT str FROM tbl FORCE KEY(index_name) WHERE 'fullstring' LIKE CONCAT(str, '%');