워밍업. A는 수백만 개의 레코드를 보유하고, B는 C, D는 ...이> 4초한계와 오프셋이있는 조인의 mysql 성능
으로 리턴하면서
SELECT ... FROM A LEFT OUTER JOIN B ... LIMIT 1000 OFFSET 0;
이것이 < 0.1 초
SELECT ... FROM A LEFT OUTER JOIN B ... LIMIT 1000 OFFSET 1000000;
에 반환 작게 (단위)이다 정렬이 A의 PK에 의한 것으로 가정하고 모든 조인이 올바르게 인덱싱되면 2 가지 연산이 비슷한 성능을 가져야한다고 가정했을 것입니다. 그러나 오프셋에 따라 O (N)처럼 보입니다 ...
쿼리 계획이 처음부터 1000 개를 선택하고 조인을해야합니까? 나는 두 개의 서로 다른 오프셋과 A의 선택을 비교했다. 그리고 시간 차이는 1 초보다 훨씬 적기 때문에 조인이 주어진 시간의 큰 차이를 설명해서는 안된다.
이것은 mysql 쿼리 계획 최적화 프로그램의 결함입니까?
['이 질문'] (http://stackoverflow.com/questions/1243952/how-can-i-speed-up-a-mysql-query-with-a-large-offset-in-the- 제한 조항)은 다소 비슷한 것처럼 보입니다. 아마도 그것은 당신에게 유용한 정보를 가지고있을 것입니다. –