planetScale row제한

도롱뇽·2023년 1월 1일
0

엘리스트랙

목록 보기
2/3

Prisma와 Planet-Scale을 사용한 환경이였습니다

검색어가 들어간 병원 명을 검색해야 하는데
검색을 할 때에 병원 데이터가 약 7만 5천개 가량 있어서
요청을 보낼때마다 75,000개 가량의 row를 다 읽어와 무료 PlanetScale DB의 한 달 읽을 수 있는 row 수를 초과하게 되어 검색을 조금 많이 하면 row 제한 수를 넘게 되어 서비스가 불가능했었습니다.

75,000개가량의 DB를 다 돌지 않고 검색을 하는 방법이 없을까 생각을 하다가
elastic Search, fulltext Search 두개의 방법을 찾게 되었습니다.
둘 중에서 무엇을 선택해야하는데
시간이 조금밖에 남아있지 않았고 빠르게 해야했기에 Prisma에서 fulltext를 쉽게 적용할 수 있어서 fullText search를 적용하기로 했습니다.

fulltext를 위해 fulltextSearch와 fulltextindex 기능을 schema.prisma에 추가해줍니다

fulltext하고 싶은 컬럼명을
@@fulltext(['컬럼명'])을 넣어주면 Prisma에서 자동으로 fulltext를 적용해줍니다

상세한 내용은 아래링크
상세보기

적용 후

적용 후 요청시에 75000 row에서 정확한 수치는 모르겠지만 10개 가량으로 줄이게 되어 걱정 없이 무한 스크롤을 사용하고 검색 기능을 사용할 수 있게 되었습니다.

처음 적용시에는 한글이 검색이 되지않아 STOPWORDS때문인가 하여 제외해봤지만 해당 부분은 한글과 관련이없었고 터미널을 종료,에디터 재시작 후 코드를 실행해 보니 정상적으로 작동이 되었습니다

profile
재생재생열매

0개의 댓글