select top 1000 from table1.
그럼 어떻게하면 다음 1000으로 계속 진행하고 테이블에서 계속 진행할 수 있습니까? 거기에 레코드 수를 수백만 십자가, 나는 걸릴 및 프로세스가 긴 과정에서 정보를 처리 .. 그래서, Cursor
1000 및 다음 1000 검색하여 사용하는 생각. 다른 가장 좋은 방법은?첫 번째 1000 개의 레코드를 검색 한 후 다음 1000 번째 레코드를 검색하는 방법은 무엇입니까?
select top 1000 from table1.
그럼 어떻게하면 다음 1000으로 계속 진행하고 테이블에서 계속 진행할 수 있습니까? 거기에 레코드 수를 수백만 십자가, 나는 걸릴 및 프로세스가 긴 과정에서 정보를 처리 .. 그래서, Cursor
1000 및 다음 1000 검색하여 사용하는 생각. 다른 가장 좋은 방법은?첫 번째 1000 개의 레코드를 검색 한 후 다음 1000 번째 레코드를 검색하는 방법은 무엇입니까?
당신은 SQL Server 2005 또는 당신이 ROW_NUMBER() 함수를 사용하여 다음 이상을 사용하는 경우 :
Using ROW_NUMBER() to paginate your data with SQL Server 2005 and ASP.NET
그러나 빌리 댓글을 달았습니다,이는 범용의 SQL 함수가 아닙니다
.커서는 특히 사용자가 결과를 페이징하는 경우와 같이 연결이 끊어진 쿼리를 수행하는 경우 매우 위험합니다.
2005 년 이전 SQL Server를 사용하거나 일반적인 방법을 찾고 있다면 일반적인 방법은 결과를 ID 인덱스가있는 임시 테이블로 선택한 다음 그 중 하나를 선택하는 것입니다 table> index> = pagenumber * pageSize & & 인덱스 < (페이지 번호 * pageSize) + pageSize
Netezza를 사용하고 있는데, 내가 아는 건 SQL 구문의 구식 표준을 지원하기 때문에 row_number()와 같은 함수에 액세스 할 수 없지만 임시 테이블을 만들 수 있습니다. Netezza 플랫폼을 사용하면 거기에 많은 양의 데이터가 있음을 알 수 있으며 페이지 매김을위한 임시 테이블을 만드는 것이 매우 위험 할 수 있습니다. –
Netezza에 row_number() 분석 함수가 있습니다. – redcayuga
설명을위한 THanks , 알고있는 것이 좋다. –
이 작업을 수행하는 중립적 인 방법은 없습니다. 어떤 RDBMS를 사용하고 있습니까? –
그리고 그 버전은 무엇입니까? –
Nettezza를 사용 중이라면 SQL 서버에 ..!? – user1066231