가장 기본적인 페이징 방법:
SELECT ... FROM ... WHERE ... ORDER BY ... LIMIT ...
소규모 및 중간 규모의 데이터 볼륨의 경우 이 SQL이면 충분합니다. , 주의가 필요한 유일한 문제는 인덱스가 사용되는지 확인하는 것입니다.
예를 들어 실제 SQL이 다음 명령문과 유사하면 Category_id, id 열에 복합 인덱스를 설정하는 것이 좋습니다.
SELECT * FROM Articles WHERE Category_id = 123 ORDER BY id LIMIT 50, 10
하위 쿼리의 페이징 방법:
데이터 양이 늘어날수록 다음 SQL의 페이지 수가 늘어납니다. 몇몇 페이지는 유사할 수 있습니다.
SELECT * FROM Article WHERE Category_id = 123 ORDER BY id LIMIT 10000, 10
간단히 말해서, 페이지를 더 많이 매길수록 LIMIT 문의 오프셋은 더 커지고 속도는 빨라집니다. 상당히 느려질 것입니다.
이때 대략 다음과 같은 하위 쿼리를 통해 페이징 효율성을 향상시킬 수 있습니다.
SELECT * FROM Article WHERE Category_id = 123 AND id >= (
SELECT id FROM Articles ORDER BY id LIMIT 10000 , 1
) 10개 제한
----------------------------------------- -
실제로는 전략 모드와 유사한 방법을 사용하여 페이징을 처리할 수 있습니다. 예를 들어 100페이지 이내라고 판단되면 가장 기본적인 페이징 방법을 사용합니다. 하위 쿼리 페이징 방법.
위 내용은 php mysql php MySQL과 php mysql의 내용을 포함하여 페이징 효율성에 대해 소개하고 있으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되길 바랍니다.