반응형
출처 [http://taeyo.net] - 홍찬석님의 글입니다.
아직까지도 정답이 없는 페이징기법에 대한 좋은 방법이 있어 퍼왔습니다.
JSP 코딩을 하면서 ASP와 다르게 ADO를 사용할 수 없는 것 때문에 알아보게된 것입니다.
강좌에도 나와있지만, 단점이 있다면 키가 여러개인 테이블의 페이징은 도저히 할 수가 없더라구요...
(지가 좀 모자라서 그런가...)
해서 다음과 같은 방법으로 해결을 했는데, 다른 분들께도 도움이 되었으면 합니다.
PageSize = 10
ListSize = 20
CurrentPage = 1
SELECT * FROM (
SELECT TOP [ListSize] * FROM (
SELECT TOP [CurrentPage * ListSize] [필드1], [필드2], [필드3]
FROM [테이블명]
WHERE [조건]
ORDER BY [필드1], [필드2]) A
ORDER BY [필드1] DESC, [필드2] DESC) B
ORDER BY [필드1], [필드2]
데이터의 양이 무진장 많아지면야 느려지겠지만, 예전의 TOP 명령 하나만 사용했을 때보단
정말 빠릅니다.
아직까지도 정답이 없는 페이징기법에 대한 좋은 방법이 있어 퍼왔습니다.
JSP 코딩을 하면서 ASP와 다르게 ADO를 사용할 수 없는 것 때문에 알아보게된 것입니다.
강좌에도 나와있지만, 단점이 있다면 키가 여러개인 테이블의 페이징은 도저히 할 수가 없더라구요...
(지가 좀 모자라서 그런가...)
해서 다음과 같은 방법으로 해결을 했는데, 다른 분들께도 도움이 되었으면 합니다.
PageSize = 10
ListSize = 20
CurrentPage = 1
SELECT * FROM (
SELECT TOP [ListSize] * FROM (
SELECT TOP [CurrentPage * ListSize] [필드1], [필드2], [필드3]
FROM [테이블명]
WHERE [조건]
ORDER BY [필드1], [필드2]) A
ORDER BY [필드1] DESC, [필드2] DESC) B
ORDER BY [필드1], [필드2]
데이터의 양이 무진장 많아지면야 느려지겠지만, 예전의 TOP 명령 하나만 사용했을 때보단
정말 빠릅니다.
| ||||||
| ||||||
|
반응형