데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
게시판의 테이블의 전체갯수가 1500개 정도 되고
한 페이지에 5개씩만 페이징 형태로 보여주고 있습니다.
내용을 검색하는 부분에서 like 검색으로 '%내용%' 형태로 검색을 하는데요
내용 컬럼은 text 형태입니다.
페이지수가 많이 넘어가게 되면 검색시간이 오래걸려서 '시간제한이 만료되었습니다' 라고 로그에 기록이 됩니다.
보통 70페이지 정도가 넘어가면 그런 것 같습니다.
like 부분을 빼면 문제가 없습니다.
(
페이징 쿼리는 아래와 같은 형태입니다
select idx from Board where idx not in (select top 100 idx from Board where idx>0 and content like '%내용%' order by idx desc)
and content like '%내용%' order by idx desc
)
데이터 수도 많지 않은데 왜 그런지 모르겠습니다.
튜닝할 방법이 없을까요?