mysql 데이터베이스 (수 백만 행)에 매우 큰 테이블이 있습니다. 각 행에는 필드로 만든 날짜가 있습니다. 오늘까지 2011 년부터 행을 추출하고 싶습니다. 나는 모양이 같은 것을 사용하고 쿼리 :mysql 쿼리 브라우저에 메모리가 부족합니다.
select data1, data1, data3, data4, data5, data6
from db.table
where date(data3) between '2011-10-01' and '2012-08-06'
나는 브라우저 충돌하기 전에 MySQL의 쿼리 브라우저에서 가져온 약 3 백만 행에 도착하고 난 입심이 오류를 (gmem.c를 얻을 : (173) 50080000를 할당하는 데 실패 바이트를 중단합니다.)
메모리가 충분하지 않기 때문에 간단합니까? 누구나 제안 할 수있는 트릭이나 성능 향상 쿼리가 있습니까?
첫째 :
다음은 올바른 질문이다. 일반적으로 검색된 행 수를 최대한 줄이십시오. 무엇보다 먼저 기억이 부족하다는 문제는 없지만 기본적으로 검색해야 할 것이 무엇인지에 대한 기본적인 생각이 부족하므로 기본적으로 원하는 것을 생각하고 더 신중하게 원하는 방식을 생각해야합니다. –