mysql where 검색 조건문 조언 좀 부탁드립니다. 채택완료

2년 전 조회 2,136

특정 키워드 검색 조건문을 만들때 조건문 쿼리를 어떻게 만들어야 할지 조언 좀 부탁드립니다.

예를들어 키워드가 "신라면" 일때

wr_area
wr_subject
wr_keyword
wr_theme
wr_content

위 필드에서 찾아야 한다면
조건문을 어떻게 만들어 주어야 할까요?

속도가 좀 빠르면서 검색어가 포함된 row를 뽑아낸다면
어떤식으로 where 문을 만들면 좋을까요?

전체 rows는 약 1500개 정도 됩니다.


Copy
where (1) and wr_area like '%신라면%' or wr_subject like '%신라면%' or wr_keyword like '%신라면%' or wr_theme like '%신라면%' or wr_content like '%신라면%'

 

이런식으로 하면 너무 느릴려나요?ㅠㅠ

고견 좀 부탁드립니다.

답변 3개

채택된 답변
+20 포인트

레코드가 1500 개정도면 걱정 없이 님이 제시한 쿼리로 실행해도 됩니다.
그래도 다른 방법으로 쿼리실행하려면 CONCAT_WS() 라는 디비함수를 이용해보세요.

Copy
WHERE concat_WS('-', wr_area,wr_subject, wr_keyword, wr_theme, wr_content) like '%신라면%'
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

너무 감사합니다^^

잘 작동 됩니다.

댓글을 작성하려면 로그인이 필요합니다.

where match 구문이 최적인듯요

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변에 대한 댓글 1개

답변 감사드립니다~^^

참고하여 적용시켜 보도록 해야겠습니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고