본문 바로가기
프로그래밍

[보리보드] 게시판 구조

by 대도루피 2008. 3. 25.
반응형

게시판 구조는 일반형과 응답형 모두 지원하도록.
일반형으로만 할 경우 좀더 수월하고 성능에도 더 좋긴 하지만, 응답형을 포기할 수가 없어서.

응답형을 위해 3개의 추가 필드가 소요됨.
rid - root id
pid - parent id
depth - 글 깊이

그 외에 앞 뒤 글 연결을 위한 포인터 사용
previd,nextid 사용.
포인터를 이용해, 이전 글, 다음 글 빠르게 접근 가능.

but,, 검색 등의 결과물에서의 앞 뒤 글 에 대한 문제가 존재.

즉, 포인터는 일반 리스팅에서만 사용 가능하다.
그러면, 포인터의 유용성이 조금 떨어지려나.
실제로 앞 뒤 글 읽을 때 이후는 사용할 일이 없다.
그럼 포인터를 사용 안 한다고 가정을 하자.

리스팅 상태에서 글을 읽을 경우.. 글 번호만을 id로 삼아 글을 호출한다.

view 상태에서 이전, 다음 글 목록 표시..


일반형 게시판에서는 쿼리를 별도로 사용함.
각 게시판 마다 일반형/응답형 모드를 선택 가능..
빠른 속도를 필요로 하고, 답글 기능이 필요 하지 않은 곳에서는 일반형으로 선택, 해당 쿼리 적용으로
속도 향상.
--------------------------------------------------------------------------------------------
글이 몇 번째 페이지에 있는지 알아내는 알고리즘..

글의 위치를 알면, 리스팅이 쉬워짐.

매 페이지마다 글의 위치 알아내기 위한 연산(db,php) 은 많은 부하를 가져올 수도 있음.
속도 테스트 필요..

일단은, 앞 뒤 포인터 만드는 걸로 작성하고,
뒤에 알고리즘 개발시, 포인터 필드 삭제..


반응형