sql 좀 알려주세요 ㅋㅋ... 정보
sql 좀 알려주세요 ㅋㅋ...본문
function get_member($mb_id, $fields='*')
{
global $g4;
return sql_fetch(" select $fields from $g4[member_table] where mb_id = TRIM('$mb_id') ");
}
대부분의 사이트에서 outlogin을 쓰고 있는데 outlogin 함수에서 항상 아래의 sql을 실행 합니다.
$sql = " select count(*) as cnt from $g4[auth_table] where mb_id = '$member[mb_id]' ";
그래서, get_member를 수정해서 한번에 처리하게 하려는데 생각이 잘 안나네요. ㅠ..ㅠ
g4_member에서 회원정보를 가져오면서 g4_auth의 레코드 갯수를 가져오게 하는 sql 문장을
알려주세욤. 아무리 고민해도 금방 생각이 안나서 부탁드려욤. ^^
도움을 주신 분들의 덕분에 이제 그누보드 튜닝도 거의 끝마무리가 나고 있습니다.
{
global $g4;
return sql_fetch(" select $fields from $g4[member_table] where mb_id = TRIM('$mb_id') ");
}
대부분의 사이트에서 outlogin을 쓰고 있는데 outlogin 함수에서 항상 아래의 sql을 실행 합니다.
$sql = " select count(*) as cnt from $g4[auth_table] where mb_id = '$member[mb_id]' ";
그래서, get_member를 수정해서 한번에 처리하게 하려는데 생각이 잘 안나네요. ㅠ..ㅠ
g4_member에서 회원정보를 가져오면서 g4_auth의 레코드 갯수를 가져오게 하는 sql 문장을
알려주세욤. 아무리 고민해도 금방 생각이 안나서 부탁드려욤. ^^
도움을 주신 분들의 덕분에 이제 그누보드 튜닝도 거의 끝마무리가 나고 있습니다.
댓글 전체
function get_member($mb_id, $fields='*')
{
global $g4;
$a = sql_fetch(" select $fields from $g4[member_table] where mb_id = TRIM('$mb_id') ");
$b = sql_fetch(" select count(*) as cnt from $g4[auth_table] where mb_id = TRIM('$mb_id') ");
$a[cnt] = $b[cnt];
return $a;
}
대략 이렇게 하면 되겠네요..
{
global $g4;
$a = sql_fetch(" select $fields from $g4[member_table] where mb_id = TRIM('$mb_id') ");
$b = sql_fetch(" select count(*) as cnt from $g4[auth_table] where mb_id = TRIM('$mb_id') ");
$a[cnt] = $b[cnt];
return $a;
}
대략 이렇게 하면 되겠네요..
2번 sql_fetch를 하지 않고 1번에 끝내는게 목적이라 ... ㅠ..ㅠ
SELECT t1.mb_id,t1.mb_no, COUNT(t2.mb_id) as cnt FROM g4_member AS t1
LEFT JOIN g4_auth AS t2 ON t1.mb_id = t2.mb_id
WHERE t1.mb_id = 'admin'
GROUP BY t1.mb_id
다음과 같이 쿼리해보세요 ㅋㅋ 잘되는 것 같긴한데.. 확실치는 않네요^^;
좀 빡세네요 이거 ㅋㅋ
그런데 g4_auth 테이블에는 어떻게 해야 값이 들어가는 건가요??ㅋㅋ
제가 그누보드를 잘 몰라서 ㅎㅎ g4_auth 테이블에 값이 없을때 테스트 한거라..
cnt 값이 0으로 잘 나오기는 하는데 있을때는 또 모르겠군요 ㅎㅎ;
LEFT JOIN g4_auth AS t2 ON t1.mb_id = t2.mb_id
WHERE t1.mb_id = 'admin'
GROUP BY t1.mb_id
다음과 같이 쿼리해보세요 ㅋㅋ 잘되는 것 같긴한데.. 확실치는 않네요^^;
좀 빡세네요 이거 ㅋㅋ
그런데 g4_auth 테이블에는 어떻게 해야 값이 들어가는 건가요??ㅋㅋ
제가 그누보드를 잘 몰라서 ㅎㅎ g4_auth 테이블에 값이 없을때 테스트 한거라..
cnt 값이 0으로 잘 나오기는 하는데 있을때는 또 모르겠군요 ㅎㅎ;
방금 g4_auth에 값을 넣고 해봤는데 잘 되는것 같네요^^;
어차피 튜닝이라는 것이 최적화 하는 것이고 보면
복잡해지기 마련입니다.
g4_auth는 관리지 페이지로 들어 갈 때 필요한 것입니다.
그래서 get_member에서 이 테이블을 조회하는 것은 역행하는 것이라고 봅니다.
대신 g4_group_member 쪽에 걸 가져 오는 것이 맞다고 봅니다.
관리자 페이지에서 쓸 get_member는 따로 만드시는 것이 좋을 듯합니다. 메뉴 번호랑 같이 sql 돌리면
group by 안 해도 되니까요.
복잡해지기 마련입니다.
g4_auth는 관리지 페이지로 들어 갈 때 필요한 것입니다.
그래서 get_member에서 이 테이블을 조회하는 것은 역행하는 것이라고 봅니다.
대신 g4_group_member 쪽에 걸 가져 오는 것이 맞다고 봅니다.
관리자 페이지에서 쓸 get_member는 따로 만드시는 것이 좋을 듯합니다. 메뉴 번호랑 같이 sql 돌리면
group by 안 해도 되니까요.
ㅠ..ㅠ... 걍~ g4_member 테이블에 mb_auth_count를 넣어버렸어요.
get_member 함수는 상당히 많은 곳에서 불러옵니다.
그 함수에서 별도의 쿼리를 넣는 것은 상당히 비효율적입니다.
common.php 를 비롯해서 쪽지. 게시판 등 모든 곳에서 불러옵니다요.
그 함수에서 별도의 쿼리를 넣는 것은 상당히 비효율적입니다.
common.php 를 비롯해서 쪽지. 게시판 등 모든 곳에서 불러옵니다요.