그누보드 게시판을 보다 보니까 wr_num이 -인 이유는 뭔가요?
본문
질문은 제목 그대로 입니다.
그누보드 게시판을 보다 보니까 wr_num이 -인 이유는 뭔가요?
DB를 보다가 궁금해져서...
답변 5
첫번째 글 : wr_num '1'
두번째 글 : wr_num '2'
세번째 글 : wr_num '3'
...
이면 최근 작성글부터 불러올 경우
쿼리에서 order by wr_num desc 를 해주어야 됩니다.
첫번째 글 : wr_num '-1'
두번째 글 : wr_num '-2'
세번째 글 : wr_num '-3'
...
이면 최근 작성글부터 불러올 경우
쿼리에서 order by wr_num asc 를 해주면 됩니다. -1 > -3
댓글, 답변글은 같은 wr_num을 가집니다. 특정글의 댓글,답변글을 가져오거나, 반대로 댓글,답변글의 원글을 가져올때 쓰입니다. 그리고 게시글 정렬에도 사용됩니다. wr_id등으로 정렬할경우에 댓글이나 답변이 있을경우 뒤죽박죽이 되는데요. 그래서 wr_num으로 먼저 정렬하면 원글기준으로 정렬이 가능해집니다.
wr_id 는 게시글에 생성되는 ID 이구요
wr_parent 가 게시글A에 딸린 댓글, 답글이 같은번호를 갖게됩니다.
wr_num은 기본적으로 가장 작은숫자 -1의 값을 갖는데
답글/댓글 이면
wr_num은 원본글과 같은 wr_num으로 설정됩니다.
/bbs/write_update.php 파일을 참고하시고
/lib/common.lib.php 의 get_next_num() 를 참고하세요
좀 더 추가하자면 그누보드는 게시판의 글과 댓글을 모두 같은곳에 저장하는데
글 정렬시 조건에 따라 먼저 리스팅 하고 다시 정렬해야하는데
order by * asc 가 속도면에서 약간 우위에 있습니다.
근데 그것도 과거 5.6 시절이고 php7 이상에서는 속도차가 거의 나지 않습니다.
속도를 관여하진 않지만 라이브러리 및 쿼리 최적화가
DB 처리 속도에 관여하지 않는다고는 볼수 없죠..