테이블 구조는 두가지로 나눌 수 있다.

첫번째는, 댓글 데이터에 상위댓글 데이터를 맵핑하여 계층쿼리를 통해 내려주는 방법

두번째는, 댓글들은 최상위 글의 id값을 그룹id로 갖고 있고 순서를 통해서 계층을 나타내는 방법

 

첫번째 방법은 서버단의 로직이 간단하지만, DB에서 수행되는 로직이 무거워지고 클라이언트상에서 핸들링하기 어려운구조이다.

두번째 방법은 서버단의 로직이 무거워지지만 예를들어, 도중에 글이 추가되거나 변경되는경우 오더링을 다시 따야 되는 번거로움이 존재하지만, DB에서 조회해온것을 그대로 내려주기때문에 API에서 해당 계층구조를 핸들링하던 클라이언트에서 핸들링하던 자유롭게 로직이 수행가능하고 클라이언트에서도 계층구조를 위해 API를 하나씩 호출하지않아도 되고 전체호출을 통해 핸들링하면되기 때문에 성능상 좋은 효율을 갖고 있다. 다만, 도중에 추가되고 변경되는 것에 대해 로직이 서버단에서 제대로 이뤄지지 않으면 정합성이 깨지는 일이 초래될수있다.

 
또한 테이블에는 실시자와 대상자의 모든정보가 포함되어야한다.
피드백실시한당시에 데이터를 조회 해와야하며
게시판의경우 아주 많은 데이터가 존재하기때문에 조인을 통해서 매번 대상자정보를 조회 해오는것은 성능상 비효율적이다.

 

'language' 카테고리의 다른 글

API url 나눌 것인가? 통합할것인가?  (0) 2020.03.26

+ Recent posts