사이트에 많은 뉴스 페이지를 표시해야합니다.
한계를 사용하여 db 쿼리에서 페이지 매김을 수행해야합니까, 아니면 모든 결과를 얻은 후에 PHP 스크립트에서 수행해야합니까?PHP에서 페이지 매기기를 수행하는 가장 좋은 방법은 무엇입니까
5
A
답변
10
SQL에서 사용 제한! 매번!
그렇지 않으면 스크립트가 불필요하게 느려지고 테이블의 데이터 양이 늘어남에 따라 확장 성 문제가 발생합니다.
제한은 친구입니다!
10
사용 제한 - 데이터베이스에서 스크립팅 엔진으로 대량 데이터를 전송하지 않으려는 경우 사용하지 마십시오.
0
개인적으로 저는 쿼리를 사용합니다. AJAX 등을 다루는 경우 분명히 변경 될 수 있지만 쿼리의 기본 제한을 수행하고 결과를 출력하는 것은 간단하고 효율적입니다.
2
이 기능을 지원하는 DBMS에서만 작업하려면 DBMS에서 수행하십시오. 앞으로 다른 DBMS를 지원하려면 현재 DBMS에 따라 처리 할 수있는 계층을 광고하십시오.
2
1
, 난 오프셋 설정하고, 해당 컬럼에 결과를 주문 명시 적 WHERE
절을 사용하는 것이 좋습니다 것입니다. 예 :
--- First page (showing first 50 records)
SELECT * FROM people ORDER BY id LIMIT 50
--- Second page
SELECT * FROM people WHERE id > 50 ORDER BY id LIMIT 50
이렇게하면 반환되는 행 수가 원하는 범위 내로 제한됩니다. WHERE
접근 방식 (별도의 오프셋이있는 LIMIT
절과 대조적으로, 예 : LIMIT 50,50
)을 사용하면 다른 자연 키가있는 레코드를 통해 페이징을 효과적으로 처리 할 수 있습니다. 이름순으로 정렬하거나 날짜순으로 정렬 할 수 있습니다.