my sql Oacle 과 sqlserver 페이지 조회 인 스 턴 스 분석

최근 에 간단하게 Oacle,my sql,sqlserver 2005 의 데이터 페이지 조회 에 대해 연 구 를 했 고 각자 의 조회 문 구 를 붙 여 여러분 들 이 공부 할 수 있 도록 했 습 니 다.
(1)my sql 페이지 조회
my sql 의 페이지 별 조 회 는 가장 간단 합 니 다.키워드 limit 을 통 해 조 회 를 실현 할 수 있 습 니 다.

selecto.*from(sql)o limit firstIndex,pageSize
아래 캡 처 와 같이 각 페이지 에 표 시 된 기록 수 는 20 입 니 다.
조회(1-20)이 20 개 기록

조회(21-40)이 20 개 기록

my sql 페이지 조회 가 이렇게 간단 합 니 다.
(2)sqlserver 2005 페이지 조회
sqlserver 2005 이전에 top 키 워드 를 통 해 페이지 조 회 를 실 현 했 지만 효율 이 낮 아 sqlserver 2005 와 그 후의 버 전 은 모두 row 를 사용 했다.number()해석 함수 로 페이지 조 회 를 완성 하면 효율 이 크게 향상 되 었 습 니 다.그러나 sql 문 구 는 비교적 복잡 합 니 다.다음은 페이지 조회 의 통식 을 제시 합 니 다.

selecttoppageSizeo.*from(selectrow_number()over(orderbyorderColumn)asrownumber,*from(sql)asowhererownumber>firstIndex;
다음은 캡 처 를 보고 페이지 당 20 개의 기록 수 를 표시 합 니 다.
조회(1-20)이 20 개 기록

조회(21-40)이 20 개 기록

알 겠 습 니 다.sqlserver 의 rownumber 함수,페이지 나 누 기 도 쉬 워 요.
(3)Oacle 페이지 조회
다음은 Oacle 의 페이지 조회 에 중심 을 두 고 말씀 드 리 겠 습 니 다.Oacle 의 페이지 조회 방법 은 상대 적 으로 많 습 니 다.ROWNUM,rownumber(),오늘 은 주로 두 가지 효율 이 약간 좋 은 페이지 조회 문 구 를 사용 합 니 다.
① ROWNUM 조회 페이지 통식:

select*from(selecta.*,ROWNUMrn from(sql)a whereROWNUM<=(firstIndex+pageSize))wherern>firstIndex
다음 캡 처 는 이러한 방식 으로 진행 되 는 검색 어 입 니 다.
조회(1-21)이 20 개의 기록****(ID=6 의 기록 이 없 기 때문에 조회 한 최대 ID 는 21)

조회(22-41)이 20 개의 기록****(ID=6 의 기록 이 없 기 때문에 조회 하기 시작 한 ID 는 22 이 고 최대 ID 는 41)입 니 다.

②row_number()해석 함수 페이지 조회 방식:

select*from(select*from(selectt.*,row_number()over(orderbyorderColumn)asrownumberfrom(sql)t) p wherep.rownumber>firstIndex)whererownum<=pageSize
아래 캡 처 는 row 사용number()방식 의 페이지 조회 효과:
조회(1-21)이 20 개의 기록****(ID=6 의 기록 이 없 기 때문에 조회 한 최대 ID 는 21)

조회(22-41)이 20 개의 기록****(ID=6 의 기록 이 없 기 때문에 조회 하기 시작 한 ID 는 22 이 고 최대 ID 는 41)입 니 다.

ROWNUM 조회 방식 에서 2 층 sql 문 구 는'where ROWNUM<(firstIndex+pageSize)order by idasc데이터 시트 에서(firstIndex+pageSize)조 의 기록 을 조회 하기 때문에 이 값 이 매우 작 으 면 효율 이 좋 을 것 이다.빅 데이터 양의 폼 에 대해 이 값 이 수천 개 라면 예 를 들 어select* from wyuse where rownum<(5000) order by idasc이렇게 시작 하면 5000 개의 기록 을 선택 하고 효율 이 훨씬 느 릴 것 이다.
총결산
위 에서 말 한 것 은 소 편 이 소개 한 my sql Oacle 과 sqlserver 페이지 조회 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.소 편 은 제때에 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기