MySQL 게시판 검색

조회수 1601회

안녕하세요. 게시판 검색을 구현하고 있는 학생입니다.

글이 100만개 이상의 row수에서 현재 게시판에서 페이지네이션을 구현할 때,

따로 트리거를 이용하거나 어플리케이션 서버자체에서 트리거와 유사하게 작업을 해주어 따로 카운트용 테이블을 두거나 컬럼을 두어서 페이지 수를 계산해주는데요.

게시판 검색을 페이지네이션으로 구현한다고 할때, LIKE로 하던 풀텍스트 인덱싱을 하던 특정 검색어로 검색했을때의 그 검색어가 포함된 row수를 카운팅을 해야 페이지네이션이 가능한데요. 그 순간순간에 카운팅을 매번 해주는건 부담스럽습니다.

이럴 경우 따로 카운트를 미리 세어놓을 수는 없고, 검색부분을 페이지네이션으로 구현하고 싶긴한데 보통 이런상황에는 어떤 방식으로 하는지 궁금하네요..

도움주시면 감사드리겠습니다.

감사합니다.

1 답변

  • 트리거를 사용하는 방법은 나쁘지 않은거 같습니다.

    트리거를 사용하지 않는 다른 방법은...글쎄요, 쿼리 결과를 캐싱해서 해당 캐싱에 영향을 주는 이벤트가 발생하면 revaildation 을 하는 방법이 있을거 같습니다.

    그리고 검색 해 보셨겠지만, "mysql count 성능" 등의 키워드로 구글링 해보시면 관련 정보가 좀 있는거 같습니다.

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

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)