2012-07-25 2 views
0

색인 조회를 위해 조회를 얻으려고합니다.조회 색인 가져 오기 - 문자열의 접두어 검색

시나리오는 이것이다 : 문자열을 감안할 때

- 열 'STR'은 내가 좋아하는 뭔가를 시도

해당 문자열에 문자열 모든 행을 찾을 수 :

SELECT str FROM tbl WHERE 'fullstring' LIKE CONCAT(str, '%'); 

그러나 이것은 쿼리를 EXPLAIN EXTENDED으로 검사 할 때 생성 한 인덱스에는 맞지 않습니다.

최악의 경우 중첩 세트를 사용하여 데이터베이스를 조금씩 개조하여이 문제를 해결할 수 있습니다.하지만 그 경로를 따라 가지 않아도됩니다.

+0

Explain 계획을 게시 하시겠습니까? – kirbs

답변

0

색인을 사용해야합니다. 당신의 MySQL 옵티마이 저가 적절한 인덱스를 선택하지 않았다면 시도해보십시오.

SELECT str FROM tbl FORCE KEY(index_name) WHERE 'fullstring' LIKE CONCAT(str, '%'); 
관련 문제