고수님들 쿼리문 조언좀 부탁드려요 ㅠ

고수님들 쿼리문 조언좀 부탁드려요 ㅠ

QA

고수님들 쿼리문 조언좀 부탁드려요 ㅠ

본문

현재 A라는 테이블에 매물 정보를 담고 있습니다. A테이블 필드 중 카테고리 필드가 따로있고, 

카테고리별로 담고있어야할 정보가 전부 상이해  각 카테고리별로 8개의 테이블로 나누어 놨습니다. 

PHP에서 리스트로 뿌릴때 아래처럼 반복문안에서 카테고리별로 테이블에서 가져오겠금 구성했는데 

$sql = "SELECT * FROM A테이블"; 
$rst = mysql_query($sql); 
while ($row = mysql_fetch_array($rst)) { 
  
 //카테고리 필드 쿼리 
 $opt = "select * from 카테고리별 테이블"; 


리스트에서 검색을 여러가지 조건으로 검색을 할려고하니 각 카테고리 테이블을 모두 들고와야하는 문제가 있어 
도무지 좋은 방법이 떠오르지 않아서 
무식하게 전부 join으로 8개 테이블을 걸어버렸습니다 

추후 데이터가 쌓이면 속도문제등이 이슈가 될 것 같은데 이럴 경우에는 쿼리문을 어떻게 작성해야될까요? ㅠㅠ

이 질문에 댓글 쓰기 :

답변 1

$sql = " SELECT * FROM A테이블 where (1) ";

 

if(조건문){

$sql .= " and a테이블아이디 in ( select distinct(a테이블아이디 ) from b테이블 where b테이블에서 찾아야 하는 조건) ";

}

 

if(조건문2){

$sql .= " and a테이블아이디 in ( select distinct(a테이블아이디 ) from c테이블 where c테이블에서 찾아야 하는 조건) ";

}

 

저는 이런 식으로 자주 합니다.

조건문이 들어가면 느려지기는 하지만 조건문이 없을 땐 빠르거든요.

답변을 작성하시기 전에 로그인 해주세요.
전체 10
QA 내용 검색

회원로그인

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