sql 질문

sql 질문

QA

sql 질문

답변 2

본문

$sql = " select * from {$g5['g5_shop_item_table']} where it_use = 1";
$result = sql_query($sql);


while( $list[] = mysqli_fetch_assoc($result) );

 

트래픽 초과를 일으키는 페이지 sql 구문이라는데

혹시 어디가 트래픽초과를 일으킬 문제 인가요?

 

mysqli_fetch_assoc 인가요? 상품은 100개 정도 이고 조건 검색을 하면 조건에 맞는 상품 몇개 나오는

정도 인데 트래픽 초과를 유발한다네요

이 질문에 댓글 쓰기 :

답변 2

selec * from {$g5['g5_shop_item_table']} where it_use = 1

이건 사용하는 모든상품을 

모든정보를 다가져와서

$list에 담는 기능인데

 

결국 메모리에 $list를 배열변수로 만들어서

어딘가로 전송할때

테이블 전체의 데이타를 다 던지는 효과가 있습니다.

실제화면상에서는 사용할게 몇개 안될수있지만

화면에 출력하기전에

 

print_r2($list);

를 찍어보시면 어느정도 양이 되는지 실감하실겁니다.

 

item에는 text 필드와 이미지경로들이 기본적으로 들어가는데

text필드가 한두개가 아니죠

text필드의 기본사이즈가 65000 바이트가 넘으니

그것의 모든테이블(약 100개정도라고 해도 65000*100인데 컬럼수가 여러개면 * 컬럼수가 증가됩니다.

 

실제로 사용할 컬럼으로 다시 추출하시는게 맞습니다.

 

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
filter #sql ×
전체 728
© SIRSOFT
현재 페이지 제일 처음으로