답변 6개 / 댓글 7개
쿼리 하기전에 넣어보세요
@ini_set ("memory_limit", -1);
그누보드에서 1,000개 select해서 먹통 될 테이블은 없습니다
select 전후 코드를 올려보세요
확인하실것이.
1. 서버에서 실행은 끝나서 html 출력이 되었는데 다운된것인지?
-> 이건 웹브라우저에서 처리 못해서. 이경우는 데이터의 양이 많아서 인데. 꼭 필요하다면 프론트앤드개발자가 신경을 써야 됩니다.
2. 서버에서 출력 자체가 안되었는지. 1천개 정도는 일반적으로 많은 양이 아닐텐데요.
select 할때 where order by 등 조건이나 소트 명령 때문에 오래 걸리는 문제인지.
그런데 통상적으로 1개 가져오는 시간이나, 1000개 정도 가져오는 시간이나 조건이나 정렬 구분이 끝나는 시간은 차이가 없을 가능성이 급니다.(다른 경우도 있기는 합니다.)
-> 쿼리 튜닝이 필요 합니다.
크게 위 둘중 하나 일듯 합니다. php가 느리거나 서버사양이 딸리거나. 그런 경우는 아닐듯 싶습니다.
실행속도의 문제도있을수 있겠지만
그것외에도
추출하는 데이타의 크기가 버퍼를 초과하면 다운될수있습니다.
혹시 추출하실때
select * 하셨다면
그것도 주문테이블 혹으 상품정보테이블을 select하신거라면
추분히 뻗어버릴수있습니다.
어떤정보를 가져오느냐에 따라 다르지만
limit 1000을 할만한 데이타라면
꼭 필요한 컬러만 추출해보세요
set_time_limit 함수로 실행시간을 늘려보세요.
SELECT LIMIT 1000
이건 그누보드와는 크게 관계없고 서버사양이랑 관계가 있을겁니다.
해결은 서버사양을 올리거나 해당 테이블을 index를 잘 잡으시면 될거 같네요.
mysql explain 명령어가 있으니 해당 쿼리를 분석해서 index와 실행속도를 체크하셔서
실행속도를 줄이시면 될겁니다.
답변을 작성하려면 로그인이 필요합니다.
알려주신방법으로 해결은 됬습니다.
향후에 예상할수 있는 서버적인 문제가 있을려나요?