제목 | 사이트 전체 통합 검색 작업중 9%부족한 부분이 있습니다. | ||
---|---|---|---|
글쓴이 | 꾸숑 | 작성시각 | 2013/04/27 04:54:08 |
|
|||
아래 소스는는 웅파님의 포럼소스를 응용해서 작업하고 있습니다. $sql = "SELECT b.nickname, a.table, a.tbn, a.num, a.content, a.subject, a.name, a.wr_user_id, a.view, a.comments, a.wdate from ( "; $rs = $this->db->query($sql); |
|||
태그 | union,search,포럼,통합검색,검색 | ||
다음글 | helper('download') 질문이요~ (1) | ||
이전글 | APM 환경구축 어렵군요. (2) | ||
꾸숑
/
2013/04/27 05:08:00 /
추천
0
|
들국화
/
2013/04/29 11:48:13 /
추천
0
MySQL의 union은 UNION DISTINCT의 줄임 형태 입니다.
즉 중복 제거 되는거죠. 하시만 중복제거는 공으로 되는게 아니니 데이타 양이 많으면 속도가 느리다는 문제가 있습니다. 자주쓰거나 데이타 양이 많타면 가능하면 union을 쓰지 않는것이 좋을것 같습니다. |
꾸숑
/
2013/04/29 17:34:58 /
추천
0
들국화//
의문이 해소 되었습니다. 감사합니다. 더 좋은 방법이 있다면 제시 해주시면 감사하겠습니다. 조금 힌트를 주신다면 그 방향으로 한번 학습해 보겠습니다. 열공! |
이해가 않되는것은 아래 처럼 하면 논리적으로 생각하면 중복 검색이 될것 같은데
결과는 중복 검색이 되지 않고 제대로 출력 되는군요
내부적을 중복 검색값을 출력 않하는것인지 궁금하네요
//////////////////////////////////////////////////////
$this->db->select("id, board_name");
$query = $this->db->get('board_admin');
foreach($query->result() as $row){
$sql.= "(SELECT '$row->board_name' as 'table', '$row->id' as 'tbn', ".$field." FROM $row->id ".$where.") UNION ";
}
$sql.= "(SELECT '$row->board_name' as 'table', '$row->id' as 'tbn', ".$field." FROM $row->id ".$where.")";
/////////////////////////////////////////////////////////