MySQL에서 페이징 쿼리를 구현하는 방법

清浅
풀어 주다: 2022-03-31 17:48:01
원래의
22005명이 탐색했습니다.

MySQL의 페이지 쿼리: 데이터 양이 적을 경우 제한 쿼리를 사용하여 페이징 쿼리를 구현할 수 있습니다. 데이터 양이 많을 경우 기본 키 또는 고유 인덱스를 설정하여 구현할 수 있습니다. be sort by order by

백엔드 프로젝트에서는 관리자 관리가 항상 불가피합니다. 백엔드 관리에서 데이터를 표시해야 할 경우 페이징을 사용해야 합니다. 다음으로 이 글에서는 페이징 구현 방법을 알려드리겠습니다. 특정 참조 효과가 있는 MySQL의 쿼리가 모든 사람에게 도움이 되기를 바랍니다.

MySQL에서 페이징 쿼리를 구현하는 방법

【추천 강좌: MySQL Tutorial

일반적으로 MySQL에서 페이징 쿼리를 수행할 때 제한 쿼리가 사용되며 쿼리에서는 정렬 기준이 사용됩니다. 다음으로 MySQL이 페이징 쿼리를 구현하는 방법을 자세히 소개합니다.

페이징 요구 사항:

클라이언트는 시작(페이지 번호) 및 제한(각 페이지에 표시되는 항목 수)의 두 매개 변수를 전달하여 데이터를 쿼리합니다. , MySql 데이터베이스는 Limit m, n과 같은 페이징 기능을 제공하지만 이 기능의 사용법이 우리의 필요와 다르기 때문에 실제 상황에 맞게 페이징 문을 다시 작성해야 합니다. 예를 들어

항목 1부터 10까지의 데이터를 쿼리하는 sql은 다음과 같습니다.

select * from table limit 0,10;
로그인 후 복사

우리의 요구에 부응하려면 첫 번째 페이지의 데이터를 쿼리하는 것입니다.

select * from table limit (1-1)*10,10;
로그인 후 복사

위의 분석에서 우리는 페이징 sql의 형식이 다음과 같다는 결론을 내릴 수 있습니다. :

 select * from table limit (start-1)*limit,limit;
로그인 후 복사

start는 페이지 번호이고,limit는 각 페이지에 표시되는 항목 수입니다.

기본 키 또는 고유 인덱스 설정

데이터 볼륨이 작을 때 데이터 페이징 제한을 사용하면 성능이 크게 저하되지 않지만 데이터 볼륨이 수만 또는 수백만에 도달하면 SQL 문 성능이 저하됩니다. 데이터 반환에 영향을 미칩니다. 데이터 페이징 제한 대신 기본 키 또는 고유 인덱스를 사용하기 위한 것입니다

예: 10~50 사이의 데이터를 반환합니다

기본 키 또는 고유 인덱스를 데모 ID로 설정

select * from table where demo_id > (pageNo-1)*pageSize limit pageSize;
로그인 후 복사

데이터를 기준으로 재정렬

정보를 순서대로 또는 역순으로 반환해야 하는 경우 위 데이터를 정렬해야 합니다. order by ASC를 사용하여 순서를 표현하고, order by DESC를 사용하여 역순을 표현할 수 있습니다. 일반적으로 기본값은 order

예: 반환된 데이터는 deco_id

select * from table where demo_id > (pageNo-1)*pageSize order by demo_id limit pageSize;
로그인 후 복사

순으로 정렬됩니다. 요약: 위는 다음과 같습니다. 이 기사의 전체 내용이 모든 사람에게 도움이 되기를 바랍니다.

위 내용은 MySQL에서 페이징 쿼리를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿