1. 응용 프로그램의 범위
평균 속도 페이징 방법은 주로 기사 시스템 및 뉴스 시스템과 같은 고정 분류 방법을 갖춘 ASP+액세스 애플리케이션에 적용됩니다.
2. 기능 설명
일부 기사 시스템이나 뉴스 시스템을 사용한 많은 친구들은 일반 기사 시스템이나 뉴스 시스템이 분류되고 페이징 될 때 일반적으로 조건을 충족하는 데이터베이스에서 정렬 된 데이터를 읽은 다음 위치를 포지셔닝 작업을 통해 요청한 페이지 번호에 따라 특정 데이터를 가리키고 데이터 후에 데이터를 읽기 시작한다는 것을 알고 있습니다. 이 페이지 매김 방법에는 간단한 원칙이 있지만 문제는 조건을 충족하는 데이터베이스의 정렬 데이터를 읽어야 할 때마다 문제가됩니다. 2 천 조각의 데이터가 있다면 괜찮지 만 2 만 개의 데이터가 있으면 어떻게됩니까? 이것은 많은 메모리를 소비하고 많은 서버 리소스를 낭비한다는 것을 보여줍니다. 물론 조건이있는 경우 SQL 데이터베이스를 사용할 수 있습니다. 작은 저장 절차로 모든 문제를 해결할 수 있습니다. 그러나 많은 친구들이 여전히 액세스 데이터베이스를 사용할 수 있으므로 우리가 할 수있는 일은 없습니다. 물론 많은 다운로드 사이트와 마찬가지로 Pagination 용 HTML을 생성하는 일부 프로그램도 있습니다. 이런 식으로 어떤 문제가 발생할 것인지 생각해 본 적이 있습니까? 백그라운드에서 한 번에 한 레코드를 추가하면이 카테고리 HTML의 모든 페이지를 한 번 재생해야합니다. 이것은 확실합니다. 그것에 대해 생각하십시오. 이것은 매우 효과적입니까?
평균 속도 페이징 방법은 액세스 데이터베이스에서 많은 양의 데이터의 페이지 매김 문제를 해결하도록 설계되었습니다. 그것은 HTML 페이징과 전통적인 ado 페이징의 장점을 결합합니다. 첫째, 속도는 빠르며 자원이 적습니다. 첫 페이지에 있든 첫 백 페이지에 있든 프로그램 속도는 동일합니다. 데이터를 추가 할 때 모든 페이지를 재생할 필요는 없습니다. 아래의 원리를 소개하겠습니다
3. 페이징 원리
데이터베이스에는 기사 테이블과 클래스 테이블이 있습니다. 우리는 그것이 무한 수준의 분류인지 또는 2 단계 분류인지 고려하지 않습니다. 이것은 우리와 아무 관련이 없습니다.
[Article] Idintidentity (1,1) NOTNULL, ClassidIntDefault0, TitleVarchar (100), AddTimeDateTime
[클래스] Idintidentity (1,1) Notnull, Classnamevarchar (20)
1. 페이징을 생성하십시오
클래스 테이블에 ID가 1이고 ClassName이 "ASP Classification"인 경우 모든 기사에서 ClassID = 1이있는 모든 데이터를 가져온 다음 추가 시간의 오름차순으로 정렬합니다. 이것은 일반적인 Ado 패싯과 동일하지만 아래에서 일부 처리를 수행해야합니다.
[page_1]이라는 데이터베이스에서 테이블을 동적으로 생성하고 1은 "ASP 분류"의 ID로 자동으로 번호가 매겨진 해당 클래스 이름입니다.
[page_1] pagenumint, pagesttext
먼저 20 개 데이터마다 STR을 생성합니다. 각 STR은 실제로 표시 될 때 20 개의 데이터베이스 목록 이며이 STR을 번호로 번호로 표시합니다. 0-19 레코드 인 경우 XXX는 001입니다. 20-39 인 경우 XXX는 002 등입니다. str과 그 번호를 page_1에 추가하십시오. 우리는 여기에서 가장 큰 것이 84라고 가정합니다
모든 사람은 데이터가 항상 19로 나눌 수는 없다고 생각합니다 (20 개의 데이터는 MOD19이어야합니다). 물론, 우리는 분수를 다루어야하며, 이는 최신 데이터가되어야합니다 (AddTime에 의해 정렬 됨). 테이블을 동적으로 만들어 봅시다, [aritcle_1]