2013-12-11 2 views
1

상당히 큰 MariaDB 10.0.6 데이터베이스 (~ 200 만 레코드)에서 일반적인 쿼리를 실행하고 있는데, 가장 적은 수의 레코드 만 반환하려고합니다. 내가 사용하고있는 'where'문은 5 ~ 10 개가 넘는 레코드와 일치하지 않습니다.Laravel 4의 DB :: paginate가 실패했습니다.

이 문은 실패 :이 하나가 작동

$lucky = $this->post->select("ID")->where('luckynumber', '=', '12345')->paginate(1); 

반면 (을 유일한 차이점입니다 -> 대 페이지를 매기는 첫째) :

$lucky = $this->post->select("ID")->where('luckynumber', '=', '12345')->first(); 

로그 파일 내가 부족 제안 메모리 (이미 512MB로 증가) :

[2013-12-11 16:15:39] log.ERROR : 500 - 사용 가능한 메모리 크기가 536870912 바이트 고갈되었습니다 (trie/var/www/lbs /에/var/www/lbs /에 '536870912 바이트가 소모되었습니다 (532152320 바이트를 할당하려고했습니다)'라는 메시지와 함께 'Symfony \ Component \ Debug \ Exception \ FatalErrorException'예외가 발생했습니다. @/lucky/12345 응용 프로그램/저장 /보기/f775c03b70963c0 : 나는 우분투 리눅스 12.04, nginx를 사용하고 109

, PHP 5.5.6,

문제가 무엇입니까?

+0

'luckynumber' 열의 색인이 생성 되었습니까? – Fractaliste

답변

0

mariaDB는 임시 테이블을 생성합니다. 따라서 Coloumn 'lucknumber'에 대한 색인을 작성하십시오.