2009-06-05 4 views
0

안녕,SQL Server 2005, Pagin 쿼리 모든 결과 계산

나는이 테이블을 조인해야하는 보고서를 위해 많은 레코드가있는 테이블이 있습니다.

시간 초과 오류가 발생하는 모든 행을 가져 오려면 SQL Server 2005에서 페이징 쿼리를 사용하고 페이지별로 결과를 얻을 수 있습니다.

하지만 결과 또는 계산 내 페이지 수를 알아야합니다. 페이징 된 쿼리에서 페이징 크기 ()를 사용하는 경우 모든 결과 개수가 아닌 모든 결과 개수가 발생하고 모든 레코드에서 개수 ()를 얻으려고하면 시간 초과 오류 메시지가 표시됩니다.

검색어의 페이지 수를 찾는 데 도움이되는 방법이 있습니까?

감사

(인스턴스 .netTiers CodeSmith 템플릿에 의해 생성)

답변

0

일반적으로 페이지 인식을 선택 저장 프로 시저가 여러 결과를 반환합니다. 첫 번째 결과 집합은 한 페이지의 데이터이고 두 번째 집합은 레코드 수입니다.

SP에 두 행 모두에 동일한 WHERE 절이 있어야 쿼리의 행에 대해 동일한 필터가 적용된다는 의미입니다.

+0

동일한 필터 (페이징없이 카운트 (*) 사용)를 사용하여 다른 선택을 사용하는 경우 코드 스미스 ( )를 사용하지 마십시오.이 시간 초과 – Ashian

+0

CodeSmith를 사용하지 않는다는 것을 알고 있습니다. 처음에이 문제가 발생했습니다 대략적인 결과 집합 크기 (페이징되지 않음)는 무엇입니까? –

+0

.netTiers에서 어떻게 완료되었는지 확인하십시오. http://blog.benpowell.co.uk/2009/02/paging-and-sorting- in-nettiers-custom.html –