OFFSET

DB

조회 성능 최적화(4) - Cursor & Navigation

Steady - 개발 스터디 및 프로젝트 인원 모집 사이트 [ 배포 링크 ] [ 프로젝트 깃허브 ] 자체적으로 제공하는 폼과 유저 평가를 통해 외부 서비스에 의존하지 않고 검증된 스터디 인원을 모집할 수 있는 서비스입니다. 개요 보통 위 이미지와 같이 숫자로 페이지를 표시하는 방식(네비게이션)에는 Offset 기반의 페이징 기법이 사용됩니다. Offset 기반의 페이징 방식은 대용량 데이터를 처리하는 데에는 한계가 있다는 단점이 있는데, 이런 한계에 가로막혀 네비게이션을 포기하고 서비스 요구사항을 변경하기엔 자존심이 상했습니다. 그래서 떠올린 방안은 바로 Cursor 기반의 페이징 기법에 네비게이션을 적용하자는 것이었습니다. Cursor는 보통 무한 스크롤 방식의 페이지를 구현하기 위해서 사용되지만, 저..

카테고리 없음

네이버 쇼핑은 어떻게 동작하는 걸까??

오늘도 어김없이 개발자가 되기 위한 고단한 여정을 보내고 있던 와타시.. 그러던 와중 네이버 쇼핑과 네이버의 검색 결과 제공 방식이 좀 다르다는 것을 알게 된다. 백문불여일견 바로 확인부터 해보도록 하자. 🟩네이버 검색결과 우선 네이버에서 검색어를 입력했을 경우이다. 검색 결과 최하단에 다음과 같은 문구가 적혀있다. 네이버 검색은 최상의 검색결과를 제공하기 위해, 검색결과를 `10`페이지까지만 제공하고 있습니다. 위 문구를 보고 단순하게 "아~ 네이버는 10페이지만 제공하는구나 ㅎㅎ" 하고 넘어갈 수 있겠지만, 우리는 개발자를 꿈꾸기에 이러한 정책에 대해서도 분석해볼 필요가 있다. 🟦왜 10 페이지만 제공을 할까? 1. 선별하기 위해 안내 문구에서 가장 중요한 키워드라고 생각되는 `최상의 검색결과`에 대..

DB

조회 성능 최적화(2) - 슬로우 쿼리 튜닝하기

Steady - 개발 스터디 및 프로젝트 인원 모집 사이트 [ 배포 링크 ] [ 프로젝트 깃허브 ] 자체적으로 제공하는 폼과 유저 평가를 통해 외부 서비스에 의존하지 않고 검증된 스터디 인원을 모집할 수 있는 서비스입니다. 개요 steady 테이블은 `steady_stacks, steady_positions, steady_likes` 테이블과 일대다 관계를 맺고있습니다. 위 테이블들을 활용하여 필터링 및 검색 기능에 대한 구현을 앞두고 사용자 입장에서 페이지 방식과 무한 스크롤 방식 중 어떤 방식으로 응답을 받는 것이 좋을지에 대한 회의를 진행하게 되었습니다. 회의를 진행하며 나온 의견 중 “무한 스크롤 방식은 내가 봤던 글이 어디쯤에 있었는지 파악하기 어렵다” 라는 의견이 가장 많은 공감을 얻어 페이지..

weonest
'OFFSET' 태그의 글 목록