join 질문드립니다.
본문
안녕하세요.
$sql = " select * from a1_match as Q left join a1_meta as W on Q.match_w = W.meta_bs limit {$from_record}, {$rows} ";
$result = sql_query($sql);
현재 아래 레드박스와 같이 A테이블 meta_bs와 B테이블의 match_w를 조인하여 C의 C1에 표기하게 하였습니다.
이걸 블루박스처럼 B테이블 match_v 또는 match_w 가 없는 경우로 A테이블에서 찾아 C표를 채우려 하는데 조언을 구합니다.
그리고 데이터가 많아서 속도가 많이 느린데 이 방법 말고 속도를 개선할 수 있는 방법이 있을까요?
답변 2
엉뚱한 답변일수 있지만 속도가 신경쓰일만큰 자주 하는 쿼리면 데이터 정형화 신경쓰지말고 데이터를 중복해서 저장하면 속도에는 엄청나게 도움됩니다.
하고자 하는 것이 정확히 이해가 안된 답변입니다
C라는 것은 테이블에서 추출한 내용을 html형식으로 보여주기만 하는 것을 말하는가요?
자료 내용으로 보자면 A테이블의 레코드 갯수는 무작정 많을 것 같지않네요
그러하다면 A테이블의 자료를 select 하여 배열로 만들어놓고
$arrA['사과']=100; $ArrA['파인애플']=200; ~~
$arrB[100]='사과'; $arrB[200]='파인애플'~~~
이렇게 두가지 종류의 배열로 만들어 준비해놓고
B테이블을 select하여 없는 값을 배열에서 찾아 C형태로 출력하면 join이고 뭐고 필요 없겠는데요
답변을 작성하시기 전에 로그인 해주세요.