기존 데이터 테이블 T의 "A" 필드에서 A의 값은 일반적으로 "12,123,312,1212" 형식입니다. T에는 100,000개의 데이터가 있습니다.
A에 "12"가 하나 포함된 레코드를 쿼리해야 합니다~
예:
"123,125,1212,1234,312"에는 단일 "12"가 포함되지 않습니다.
"1,18,123,1212,321,312"에는 단일 "12"가 포함되지 않습니다.
"1, 12,123,1212,321,312 "에는
...
조회 방법이 2가지인데 좀 번거로운 것 같아요~ 하나는 CONCAT, 하나는 LIKE OR
혹시 더 효율적인 방법이 있으신지 물어봐주시면 감사하겠습니다~
필드 A에 전체 텍스트 색인을 추가하고 전체 텍스트 검색을 사용할 수 있습니다.
으아아아주의해야 할 점:
MySQL5.6.4의 innodb_ft_min_token_size의 기본값은 3입니다.
MyISAM의 ft_min_word_len의 기본값은 4입니다.
원하는 인덱스의 최소 길이가 2인 경우 my에서 구성하세요. cnf:
innodb_ft_min_token_size =2
ft_min_word_len=2