테스트 사이트 - 개발 중인 베타 버전입니다

SELECT LIMIT 1000개 로딩시에 페이지 다운이 되던데 채택완료

qwe 4년 전 조회 3,492

그누보드의 문제인건가요? 서버호스팅의 문제인건가요?

서버호스팅 문제면 어떤식으로 해결해야 하는지 알려주시면 감사하겠습니다.

댓글을 작성하려면 로그인이 필요합니다.

답변 6개

채택된 답변
+20 포인트
4년 전

쿼리 하기전에 넣어보세요

@ini_set ("memory_limit", -1);

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

q
qwe
4년 전
혹시 무슨 문제인지 알수 있을까요 ? 초보라서..
알려주신방법으로 해결은 됬습니다.

향후에 예상할수 있는 서버적인 문제가 있을려나요?
균이
4년 전
서버에서 설정한 기본 메모리가 적어서 그렇습니다
1000개를 메모리에 저장하지 못하는 것입니다
-1은 메모리 설정을 제한하지않는다는 것입니다

댓글을 작성하려면 로그인이 필요합니다.

4년 전

그누보드에서 1,000개  select해서 먹통 될 테이블은 없습니다

select 전후 코드를 올려보세요

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

q
qwe
4년 전
select * from g5_member where (1) order by mb_datetime desc limit 0, 50

limit 0, 980 하면 페이지 뜨고, 출력이 천천히 되어요.
limit 0, 1000 하면 페이지가 뜨지않고

페이지가 작동하지 않습니다.
현재 (도메인)에서 요청을 처리할 수 없습니다.
HTTP ERROR 500

댓글을 작성하려면 로그인이 필요합니다.

4년 전

확인하실것이.

 

1. 서버에서 실행은 끝나서 html 출력이 되었는데 다운된것인지?

-> 이건 웹브라우저에서 처리 못해서. 이경우는 데이터의 양이 많아서 인데. 꼭 필요하다면 프론트앤드개발자가 신경을 써야 됩니다.

 

2. 서버에서 출력 자체가 안되었는지. 1천개 정도는 일반적으로 많은 양이 아닐텐데요.

select 할때 where order by 등 조건이나 소트 명령 때문에 오래 걸리는 문제인지.

그런데 통상적으로 1개 가져오는 시간이나, 1000개 정도 가져오는 시간이나 조건이나 정렬 구분이 끝나는 시간은 차이가 없을 가능성이 급니다.(다른 경우도 있기는 합니다.)

-> 쿼리 튜닝이 필요 합니다.

 

크게 위 둘중 하나 일듯 합니다. php가 느리거나 서버사양이  딸리거나. 그런 경우는 아닐듯 싶습니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

q
qwe
4년 전
1. 아니오. 페이지 출력자체가 안됩니다....

2. select * from g5_member where (1) order by mb_datetime desc limit 0, 50
모든 컬럼을 부르지 않고 mb_id 만 limit 0, 1000 로 불러도 뻗습니다..

댓글을 작성하려면 로그인이 필요합니다.

플래토
4년 전

실행속도의 문제도있을수 있겠지만

그것외에도

 

추출하는 데이타의 크기가 버퍼를 초과하면 다운될수있습니다.

 

혹시 추출하실때

select *  하셨다면

그것도 주문테이블 혹으 상품정보테이블을 select하신거라면

추분히 뻗어버릴수있습니다.

 

어떤정보를 가져오느냐에 따라 다르지만

limit 1000을 할만한 데이타라면

꼭 필요한 컬러만 추출해보세요

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

q
qwe
4년 전
select * from g5_member where (1) order by mb_datetime desc limit 0, 50
모든 컬럼을 부르지 않고 mb_id 만 limit 0, 1000 로 불러도 뻗습니다..

댓글을 작성하려면 로그인이 필요합니다.

e
4년 전

set_time_limit 함수로 실행시간을 늘려보세요.

https://sir.kr/pg_tip/15434

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

q
qwe
4년 전
저는 관리자-회원리스트에 대한 작업이니 /adm/member_list.php 의 common.php 아래에
set_time_limit(0); // 무제한
적용하고 돌려보라는 말씀이시죠?

페이지 뜨지않습니다.. 똑같음..

댓글을 작성하려면 로그인이 필요합니다.

SELECT LIMIT 1000

 

이건 그누보드와는 크게 관계없고 서버사양이랑 관계가 있을겁니다.

 

해결은 서버사양을 올리거나 해당 테이블을 index를 잘 잡으시면 될거 같네요.

 

mysql explain 명령어가 있으니 해당 쿼리를 분석해서 index와 실행속도를 체크하셔서

 

실행속도를 줄이시면 될겁니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

q
qwe
4년 전
네.. 몇일전부터 고민하던문젠데 그누보드는 상관없고 서버측에도 물어보니 관계가 없대서.. sql 을 불러오는 프로그램(mysql 쪽을 말하는거겠죠?) 확인해보라는 답변을 받았어요.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인