강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

h.님의 프로필 이미지
h.

작성한 질문수

제미니의 개발실무 - 커머스 백엔드 기본편

쿠폰 - 코드 느끼기

제미니님 안녕하세요!

작성

·

15

0

제미니님 이커머스 강의와 프로젝트 코드들을 참고하면서 게시판을 만들어보고 있는 중입니다!

현재는 게시물 정보만 페이징 방식으로 구현해놓았습니다.


근데 게시글 목록을 보여줄 때 한 게시글 당

조회수, 좋아요수, 댓글 수, 유저닉네임 등.. 표시가 되야해서 좀 헷갈립니다.

 

 

한 API에서 전부 조합해서 내려준다고하면

페이징된 게시글 10개를 먼저 조회하고

조회한 게시글의 ID를 기반으로 조회수와 좋아요를 따로 조회한 뒤에 같이 내려주는 방식이 좋을까요?

 

 

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. h.님.

이커머스 프로젝트를 진행하며 게시판 기능을 구현 중이시군요. 게시글 목록에 여러 부가 정보를 함께 제공하는 것은 사용자 경험을 풍부하게 만들지만, 동시에 시스템의 효율성도 고려해야 하는 부분입니다.

게시글 목록 조회 처리 전략

게시글을 조회하며 부가 정보를 함께 제공할 때의 전략은 대체로 다음과 같습니다:

  1. 전략 1: 단일 쿼리로 모든 데이터 조회:

    • ORM이나 복잡한 SQL 쿼리를 사용하여 게시글, 조회수, 좋아요 수, 댓글 수, 유저닉네임 등을 한 번에 조회합니다.
    • 장점: 하나의 쿼리로 모든 정보를 수집하므로 네트워크 트래픽이 적습니다.
    • 단점: 데이터베이스 구조가 복잡해질 수 있으며, 항상 모든 데이터를 가져와야 하는 부담이 있습니다.
  2. 전략 2: 다중 쿼리로 데이터 조회:

    • 기본적인 게시글 정보를 먼저 쿼리한 후에, 각 게시글 ID를 기반으로 조회수, 좋아요 수 등의 추가 데이터를 따로 쿼리합니다.
    • 장점: 필요에 따라 데이터를 동적으로 조합할 수 있어 유연합니다.
    • 단점: 여러 번의 데이터베이스 통신이 발생할 수 있어 성능에 영향을 줄 수 있습니다.
  3. 전략 3: 캐싱을 활용한 조회:

    • 자주 변하지 않는 데이터(예: 조회수, 좋아요 수)를 캐시에 저장하고, 페이지가 호출될 때마다 캐시에서 데이터를 가져옵니다.
    • 장점: 데이터베이스 부하를 줄이고 빠른 응답을 제공할 수 있습니다.
    • 단점: 데이터의 실시간성이 떨어질 수 있습니다. 캐시를 주기적으로 업데이트해 줘야 하는 관리가 필요합니다.

위의 전략 중 하나를 선택할 때는 시스템의 요구사항과 트래픽 패턴, 데이터 자동화 배포 여부 등을 고려해야 합니다. 또한, 모든 데이터를 한꺼번에 가져오는 방식과 필요한 데이터를 각 요청마다 가져오는 방식 간의 트레이드오프를 신중하게 판단하여 결정하는 것이 좋습니다.

구체적인 구현에 대한 참조를 원하신다면, 다음과 같은 유사한 질문과 답변이 도움이 될 수 있습니다:
- 게시글 수집과 표시 최적화

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

h.님의 프로필 이미지
h.

작성한 질문수

질문하기