이런거는 불가능할까요??? > 자유게시판

자유게시판

이런거는 불가능할까요??? 정보

이런거는 불가능할까요???

본문

SQL bomb 제거작업중에 그룹 최근글에서 가장 아쉬운 것이
g4_board_new에서 가져온 board_id, wr_id로 한번 더 query를 돌려야 하는 것이더라구요.

g4_board_new에서 데이터를 가지고 올 때, 해당 테이블의 $board 값고, $write 값을 한번에
같이 가지고 올 방법은 없는 것일까요???
추천
0

댓글 16개

살짝 손대봤는대 조인에 서브쿼리에 그룹에 복잡해서 포기햇어요
그냥 쿼리 두번 날리는게 어떨런지요
상단에 new 와 board 조인시켜서 bo_table 와 wr_id 를 텍스트로 담고
그 텍스트를 이용해서 union 써서 wr_datetime desc 로 불러오면
쿼리 두번으로 될것같내요 어차피 wr_datetime 과 bn_datetime 은 같으므로
그렇네요. 각row당 루프돌려서 테이블명넣어서 쿼리를 날려야 하니까 최신글갯수만큼 쿼리가 날라가네요.

저도 한번 찾아보겠습니다.
그누의 경우 게시판별로 테이블이 다르니까 그걸 감안해야죠.
이런게 조인이 가능할 것 같기도 하구 ... 안될 것 같기도 하구
생각해보니 join 가지고는 안나올 듯 싶네요.
말씀하신 대로 그누의 경우 게시판별로 테이블이 다르니...
게시판 하나를 대상으로 한다면 되겠지만.

최소 게시판별로 쿼리를 돌려야 겠군요.

게시판 테이블을 하나로 합치는 건...
where bo_table = '$bo_table' 다 집어넣고,
인덱스에 bo_table 추가하고, ㅡ_
paging과 글쓰기가 아주 많은 경우에는 file cache가 크게 속도 개선이 안되더라구요
반복적인 mysql 쿼리는 cache에 들어가 있어서 속도가 무난하거든요.
mysql 함수를 못만들어서 그러는데, 함수를 만들어서 글제목을 가져오는거는 어떨까요?
그외 글쓴이는 조인이되고, 작성일은 컬럼에 있으니까, 함수만 만들어서 글제목만 가져오면
좀나을거 같습니다.  그런데 이렇게 하더라도 최신글 썸네일가져오는것은 별개일까요?
그래도 내부적으로 수행되니까. 속도는 좀 나오겠죠^^

근본적으로는 추가컬럼을 만들고 데이타를 가지고 있던지
아니면 적어도 한페이지만큼 읽어서 그안에 유니크한 테이블갯수만큼 조인또는 유니온 또는 루프돌려서 글제목을 가져와야 합니다.

사실 추가컬럼이 가장 좋은거 같습니다. 추가컬럼의 경우 write 부분과 update부분에서 g4_board_new에 글제목(그외 몇가지더 넣을수 있겠죠) 을 넣어주어야 하고요
그룹 최근글의 경우 조인할 테이블이 $g4[board_new_table], $g4[board_table], $g4[group_table] 3개를 조인해야 겨우 그룹중에서 최근글 순서대로 가져오는데, 여기에 그룹내 복수개의 게시판 테이블까지 프로그램이 알아서 조인하는건 힘들다고 봐야되고,

하나의 조인으로 묶으시려면, g4_board_new에 글제목과 코멘트갯수,이름(별명)정도는 필드추가해야 가능해보입니다.
전체 196,490 |RSS
자유게시판 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT