MYSQL 데이터베이스 액세스 성능 데이터는 페이징 프로세스를 최적화하기

1, 클라이언트 (브라우저 또는 응용 프로그램) 탭

데이터는 응용 프로그램 또는 브라우저에서 페이징 프로세스에 의해 모든 로컬 응용 프로그램이나 브라우저, 네이티브 코드로 응용 프로그램 서버에서 다운로드

장점 : 간단한 코딩, 상호 작용의 클라이언트 및 서버 네트워크 응용 프로그램의 수를 감소

단점 : 첫 번째 상호 작용 오랜 시간이 클라이언트의 메모리 풋 프린트

적응 시나리오 : 클라이언트와 애플리케이션 서버 네트워크 지연이 크지 만 (에서 휴대 전화의 GPRS, 울트라 원격 액세스 원활 후속 작업을 필요로

 

2, 응용 프로그램 서버 페이징

응용 프로그램 서버에서 데이터를 필터링하는 모든 응용 프로그램 서버에 데이터베이스 서버에서 데이터를 다운로드합니다.

장점 : 간단한 코딩 단 하나의 SQL은 동일한 성능에 대한 데이터를 페이징 전체 데이터와 더 나은 상호 작용이 필요합니다.

단점 : 성능 저하 할 때 대량의 데이터 총량.

장면을 일치 : 데이터베이스 시스템이 페이징 처리를 지원하지 않는 데이터의 양이 작고 제어합니다.


3, SQL 데이터베이스 페이징

SQL 페이지를 사용하여 SQL 데이터베이스는 완전한 두 가지가 필요합니다

SQL의 총 수의 계산

데이터 반환 페이징 SQL

장점 : 좋은 성능

단점 : 복잡한 코딩, 다른 데이터베이스 구문의 다양한 두 SQL 상호 작용을 필요로한다.

 

두 가지 전략의 다음 페이지 :

직접 ROWNUM 페이지를 통해 :

(*를 선택

         에서. *, ROWNUM RN을 선택

                   (곱 A *에서 어디를 선택 COMPANY_ID =? 상태 별 순서)

         여기서 ROWNUM <= 20)

여기서 RN> 10;

모든 IO 데이터 기록의 결과에 대응하는 데이터 액세스 IO + = 인덱스 인덱스 테이블에 대한 오버 헤드

 

ROWID를 사용하여 페이징 구문

페이지 최적화 원칙은 순수 인덱스 ROWID에 의한 기록을 찾을 수 있습니다, 다시 ROWID에 의한 테이블에 데이터를 반환 내부 쿼리를 필요로하며 인덱스에서 전체 필드를 정렬 할 수 있습니다.

제품에 대한 인덱스 myindex (COMPANY_ID, 상태)를 만들;

B를 선택한다. *에서 (

         (*를 선택

                   에서. *, ROWNUM RN을 선택

                            (제품 A에서 ROWID 제거, 상태를 선택 어디 COMPANY_ID =?의 유무에 의하여 순서)

                   여기서 ROWNUM <= 20)

         여기서 RN> 10)는, 제품 B

여기서 a.rid = b.rowid;

데이터 액세스 비용 인덱스 = IO + 결과 인덱스 테이블 데이터에 대응하는 IO 페이징

우려를 수도 있습니다 더 많은 기술 정보 : gzitcast

추천

출처www.cnblogs.com/heimaguangzhou/p/11689894.html