안녕하세요 현재 mysql을 이용하여 서비스를 운영하려고 합니다.
그런데 user의 경우 닉네임에 공백이 들어갈 수 있도록 하였는데 혹시 이런 경우에 가장 좋은 방법이 있을까요??
만약 닉네임이 'Ed Sheeran`일 경우 'ds'를 검색해도 검색이 되게 하려고 합니다.
현재는 ... where nickname like '%keyword%'으로 사용 중인데 이렇게 하면 어차피 인덱스가 타지 않아
... where REPLACE(nickname,' ','') like '%keyword%'으로 변경하여 사용하려고 합니다.
더 좋은 방법이 있을까 싶어 검색해보아도 거의 동일한 방법인것 같지만 혹시나해서 질문을 드립니다.
full_textIndex를 사용하려 했으나 검색어가 길어질 경우 너무 느려지고, 1글자 검색이 가능은 하지만 인덱스 크기가 너무 커질것이 우려되어 like 검색어로 변경하게 되었습니다.
|
답변 1개
채택된 답변
+20 포인트
선택과집중
1년 전
그냥 컬럼 하나를 더 만들어서 해당 컬럼은 검색용으로 잡는게 좋을 듯 합니다.
애초에 중간에 공백이 있는 검색을 쓰는 사람은 별로 없기 때문에
답변을 작성하려면 로그인이 필요합니다.