포럼

저도 경험한 것이지만


documents 테이블을 목록에서 불러올때 굳이 게시판 정보에 설정한 선별된 목록에서 불러와야 하는지 의문 입니다.


어차피 한페이지에 보이는 목록 갯수(기본 20개)는 정해져 있는 상황에서

선별해서 불러오는것과 전체를 불러오는것과 차이가 있는지 검토가 필요한것 같습니다.


본문이 이해가 안되신다고 해서 추가 합니다.


board.view.php 에서

목록 불러올때 아래의 _makeListColumnList()를 호출후 얻어진 $this->columnList 항목만 documents 테이블에서 가져와 목록에 뿌려줍니다.


_makeListColumnList() 과정을 거치는 것과 그냥 documents 테이블의 모든 필드를 가져오는것과 속도면에서 차이가 없을것 같다는 것입니다.


왜냐하면 통상 우리가 목록에 가져오는 row의 갯수가 통상 20개 수준이기 때문에 그 차이가 무시할 수 있는 수준일것으로 예상됩니다.


오히려 선별해서 목록을 뿌려주다보니 스킨 작업시 목록에서 선정되지 않은 항목은 표시할 수 없어서 다시 목록에서 선정해줘야하는 문제들이 발생하고 있습니다.




function _makeListColumnList()

{

$configColumList = array_keys($this->listConfig);

$tableColumnList = array('document_srl', 'module_srl', 'category_srl', 'lang_code', 'is_notice',

'title', 'title_bold', 'title_color', 'content', 'readed_count', 'voted_count',

'blamed_count', 'comment_count', 'trackback_count', 'uploaded_count', 'password', 'user_id',

'user_name', 'nick_name', 'member_srl', 'email_address', 'homepage', 'tags', 'extra_vars',

'regdate', 'last_update', 'last_updater', 'ipaddress', 'list_order', 'update_order',

'allow_trackback', 'notify_message', 'status', 'comment_status');

$this->columnList = array_intersect($configColumList, $tableColumnList);


if(in_array('summary', $configColumList)) array_push($this->columnList, 'content');


// default column list add

$defaultColumn = array('document_srl', 'module_srl', 'category_srl', 'lang_code', 'member_srl', 'last_update', 'comment_count', 'trackback_count', 'uploaded_count', 'status', 'regdate', 'title_bold', 'title_color');


//TODO guestbook, blog style supports legacy codes.

if($this->module_info->skin == 'xe_guestbook' || $this->module_info->default_style == 'blog')

{

$defaultColumn = $tableColumnList;

}


if (in_array('last_post', $configColumList)){

array_push($this->columnList, 'last_updater');

}


// add is_notice

if ($this->except_notice)

{

array_push($this->columnList, 'is_notice');

}

$this->columnList = array_unique(array_merge($this->columnList, $defaultColumn));


// add table name

foreach($this->columnList as $no => $value)

{

$this->columnList[$no] = 'documents.' . $value;

}

}



글쓴이 제목 최종 글
LI-NA 개발보다 어려운건 배포... [4] 2014.03.16 by 여우별다솜
심플XE 정치권에서도 XE를 많이 쓰네요 [7] 2014.03.16 by Garon
심플XE 레이아웃 만드실때... [1] 2014.03.16 by 숭숭군
여우별다솜 DB가 통째로 삭제되버렸네요.. [2] 2014.03.16 by LI-NA
나도모름 $oMemoModel 의 $o 는 무엇을 의미하는 접두사인가요? [3] 2014.03.16 by 웹엔진
도라미 허허 다올을 너무 많이 놀렸네요. [6] file 2014.03.16 by 마이웹
마이웹 질답게시판에 답을 하면서 몇가지 개선점이 있는것 같아서 글 올립니다. [4] 2014.03.15 by 마이웹
Omega3 XE 홈페이지 운영 하려고 호스팅 회사를 알아보고 있는데요. 추천 좀 해주세요~ [16] 2014.03.15 by SS
socialskyo 코어도 업데이트되고 게시판 스킨을 lune으로 변경했네요 [3] 2014.03.15 by 원조바다새
레몬바나나 댓글 정렬 방법에 검토 부탁드립니다. [7] 2014.03.14 by 이즈야
prologos 쿡래빗 레이아웃 테스트중... [1] file 2014.03.14 by LI-NA
애니즌 관리자가 사용자 글을 수정하면 [2] 2014.03.14 by 애니즌
StyleRoot XE 투표 모듈 개조 [2] file 2014.03.14 by 세계여행32
Es.tee 신디케이션 수집되었던 게시물이 누락되는 이유? [4] 2014.03.13 by ToFinder
김재순 PXE홈페이지 오류 문제 [4] 2014.03.13 by DynamicLaser
컴스 오픈 안 한 사이트에 스팸 2500건 [8] 2014.03.13 by 착한악마
마음의빈자리 아직도 살아있는 병맛골 ㅋㅋㅋ xe1.4 대로 만든듯, [4] file 2014.03.13 by :DunhillBoy
SMaker XE마켓을 이용하지 않는 이유가 무엇일까요? [54] 2020.03.14 by HolyJohn
Canto 혹시 jqm 쓰시는 분들 계신가요?  
銀童 질문이 아니라 아예 의뢰를 하시는 분들이 있네요. [5] 2014.03.12 by DynamicLaser