Replies: 2 comments 4 replies
-
#답변
|
Beta Was this translation helpful? Give feedback.
3 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
현재 저희 팀의 기능 중 검색 기능에서 해당 문제가 발생합니다.
검색창에 저희 db에 없는 단어를 입력하면, n gram full text search로 작동하는 만큼, 짧은 시간이 걸리는 검색이 끊임없이 돌아갑니다.
문제점은 아무리 짧은 검색어도 db에 없으면 쿼리문이 언제 끝나는지 알 수 없을 정도로 오래 돈다는 것입니다.
위의 사진은 db를 재부팅한 후, 처음에 없는 검색어를 입력하였을 때 이미지입니다.
이와 같이, 짧은 시간으로 여러 번 도는 쿼리에 대해 일정 시간이 지나거나, 일정 횟수가 지나면 중지시킬 방법이 없을까요?
어떤 것들 위주로 검색하면 좋을지 알려주시면 감사하겠습니다.
위 코드가 저희 검색에 관여하는 리포지토리 코드입니다.
먼저 파악한 것은 위의 limit는 size만큼의 시간이 넘으면 중지시키는 것인데, 저희의 경우 time이 0인 쿼리입니다.
또한 show full processlist 를 사용해 보았을 때 같은 쿼리문이 새로 고침을 계속 눌러도 죽었다가 살아나는 것을 반복합니다.
이로 인해 매우 짧은 쿼리가 반복적으로 동작한다고 생각하는 상황입니다.
Beta Was this translation helpful? Give feedback.
All reactions