2015-01-21 1 views
2

무한 한 초 미만에서 실행 시간을 증가시킨다 :MySQL은 - 1의 결과에 의해 제한을 늘리면 같은 간단한 쿼리를 사용

select * from <table> limit 5;

예상되는 제 2의 비율로 결과를 리턴 할 것이다. 한계를 최대 49까지 늘릴 수 있으며, 결과는 여전히 1 초도 안되게 반환됩니다. 그러나 제한을 50으로 늘리면 실행 시간이 무한 할 것입니다. 하나의 열을 선택

나에게 몇 천까지 제한을 높일 수 있습니다,하지만 난 약 100 열과 (22) 데이터베이스를 사용하고

5000 주위에 쿼리를 제한 할 때 같은 문제가 적용됩니다 백만 행.

왜 이런 현상이 발생합니까?

select * from <table> order by id limit 50; 57초

select * from <table> order by id limit 100;이 도움이 될 수 있습니다

+1

큰 문제는 몇 행입니까? – Mihai

+0

@Mihai 약 22,000 – Garrett

+0

테이블에있는 모든 인덱스? – mathielo

답변

0

완료되지 않았습니다

select * from <table> order by id limit 5; 57초 :

편집 : "에 의해 순서"는 사용

https://dev.mysql.com/doc/refman/5.0/en/select.html

SQL_BIG_RESULT 또는 SQL_BUFFER_RESULT을 사용해보세요.

메모리 할당 설정이 잘못되었을 수도 있습니다. BLOB 또는 다른 큰 입력란을 저장 하시겠습니까?