2014-12-09 4 views
0

필드가 id, author_id, message, parent_idPosts 테이블이 있습니다. parent_id은 해당 부모 게시물의 null 또는 id 일 수 있습니다.부모가있는 게시물에 어떤 중첩 데이터 구조를 사용해야합니까?

Votes 테이블에는 id, item_id (을 참조하는 외래 키) 필드가 포함되어 있습니다.

이 예제에는 계층 적 데이터를 저장하는 여러 가지 방법이 있습니까?

나는 이와 비슷한 서버에서 응답을 반환 할 :

[{ 
    user: {/* author-data */}, 
    text: 'some string', 
    parent_id: null, 
    comments: [/* list of comments, each including it's own list of votes*/], 
    votes: [/* list of votes*/] 
}] 

데이터가 업데이트되지 자주 삽입 많이 읽을 거의 절대됩니다.

+0

이것은 일종의 RESTful API인가요? 그렇다면 목록 대신 URL 만 반환 할 수 있습니다 (예 : '여기에 의견 목록을 볼 수있는 URL'). – Kevin

+0

대기 시간이 길고 대역폭이 큰 모바일 사용자를 대상으로하므로 불필요한 요청에 시간을 낭비하지 않아도됩니다. – Ginden

답변

2

parent_id에서 id까지 외래 키를 사용하여 "정상적인"방식으로 저장하십시오.

는 재귀 쿼리와 해당 쿼리 그 후 : 만약 당신이이 성능 문제를 얻는 경우에 http://www.postgresql.org/docs/9.3/static/queries-with.html

, 당신은 단순한 캐싱 계층을 추가 할 수 있습니다.

+0

예제를 제공해 줄 수 있습니까? – Ginden

+0

@Ginden : 테이블 정의를 제공 할 수 있습니까? sqlfiddle.com 여기에 많은 도움이 될 수 :) – Wolph

관련 문제