나는 다음과 같은 쿼리가 :MySQL이 FULLTEXT 인덱스를 사용하지 않는 이유는 무엇입니까?
EXPLAIN SELECT *
FROM glean2_saves
WHERE username = '1d85d5aed8b02b3d6b0c155a563293ef'
AND ses_id = 'e4fa3ae216f5033fbd16d6c66370954c'
AND save_status =1
ORDER BY id DESC
을 그리고 그 결과는 이것이다 : 나는 오른쪽 컬럼에 인덱스가 할
Action Keyname Type Unique Packed Column Cardinality Collation Null Comment
Edit Edit Drop Drop PRIMARY BTREE Yes No id 331837 A
Edit Edit Drop Drop save_status BTREE No No save_status 3 A YES
Edit Edit Drop Drop nickname FULLTEXT No No nickname 7374 YES
Edit Edit Drop Drop username FULLTEXT No No username 7717 YES
Edit Edit Drop Drop ses_id FULLTEXT No No ses_id 11442 YES
, : 여기
id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE glean2_saves ref save_status,username,ses_id save_status 2 const 286315 Using where; Using filesort
내 인덱스입니다 하지만 왜 그들은 사용되지 않습니다? save_status
인덱스가 없으면 쿼리가 너무 길거나 때로는 15 초가 걸리기 때문에 "save_status, username, ses_id"는 "가능한 키"(save_status, username, ses_id)에 있습니다. 그것은 1 초보다 적게 걸릴 것입니다. 데이터베이스는 330,000 개가 넘습니다.
참고로이 제목은 잘못되었습니다. "전체 텍스트"색인은 텍스트 검색에 사용되는 색인을 나타냅니다. 이 질문은 문자 열에 대한 일반 색인에 관한 것입니다. –