DATABASE/MySQL Workbench

MySQL Workbench : SQL의 like 와 문자열 컬럼에 fulltext 설정

신강희 2024. 5. 20. 17:44
728x90

< MySQL의 like 와 문자열 컬럼에 fulltext 설정 >

# 코드 작업중에 특정 검색화면을 만들어야할때, 검색어를 입력하여 출력하는 화면을 개발할수 있다.

 

# 검색 화면 SQL문을 개발할 경우!

-- 영화 검색 화면
-- 이제 다음주 서버 개발(API)를 대비해서 id 컬럼도 필수로 주자 (ID는 유저에게 보여주는게 아니라 클라이언트에게 보여주는용도)

-- 영화 검색하는 SQL
-- 검색 용도로 특정 컬럼을 like를 활용해서 만들때는
-- 해당 컬럼을 index에서 fulltext 인덱스 처리를 해주어야 한다!! (중요) => 검색 속도를 올리기 위해
-- 혹시 summry 내용으로도 검색되게 하고 싶을때는 
-- title like '%story%' or summary like '%story%'
-- ㄴ 타이틀과 서머리에 모두 story가 있는걸로 검색하고 싶으면 이렇게 작성하고
-- 인덱스에 fulltext처리를 두개 모두 해줘야 한다.
select m.id, m.title, 
    count(r.id) as review_cnt, 
    ifnull(avg(r.rating), 0) as avg_rating
from movie m
left join review r
	on m.id = r.movieId
where title like '%story%'
group by m.id
limit 0, 25;

 

# like 문을 활용하여 검색화면을 개발할때 해당 컬럼fulltext 인덱스 처리를 해주어야 한다!

Indexes > 직접 Index Name을 입력하고 검색어가될 컬럼을 선택 후에 TypeFULLTEXT로 설정해 주어야함!

 

다음 게시글로 계속~!

반응형