stackoverflow에는 많은 SQL Server 페이징 질문이 있으며 그 중 많은 질문에 ROW_NUMBER() OVER (ORDER BY ...) AND CTE
을 사용합니다. 수십만 개의 행에 들어가서 기본이 아닌 키 값에 정렬을 추가하고 사용자 정의 WHERE 절을 추가하기 시작하면 이러한 메서드가 매우 어려워집니다. 사용자 지정 정렬 및 필터링을 통해 페이지를 넘기 위해 노력하고있는 수백만 행의 데이터 집합이 있지만 필자가 정렬하고 필터링하는 모든 필드의 인덱스를 사용하더라도 성능이 떨어지고 있습니다. 나는 심지어 각각의 인덱스에 SELECT 컬럼을 포함하기까지 했었지만 데이터베이스가 간신히 도움이되었고 심각하게 비대 해졌습니다.Microsoft SQL Server 페이징
나는 stackoverflow 페이징이 어떤 정렬 기준이나 클릭 한 페이지 번호에 관계없이 약 500 밀리 초만 걸리는 것으로 나타났습니다. 누구나 수백만 행의 SQL Server 2008에서 페이징 작업을 효율적으로 수행하는 방법을 알고 있습니까? 여기에는 전체 행을 가능한 효율적으로 가져 오는 것이 포함됩니다. Best paging solution using SQL Server 2005?
언제든지 검색어를 게시 할 수 있습니다. 일반 원칙은 좋은 사람이지만 현실 세계에서는 문제가 있습니다.) – u07ch
정렬 (또는 필터링)하려는 모든 열에 인덱스를 추가하지 않습니까? 제게는 분명한 것처럼 보이지만, 시도했는지는 알 수 없습니다. – bart
모든 열에 인덱스가 있습니다. 처음 몇 수천 넘어서 페이징 후, 질의 시간은 선형으로 올라 가기 시작합니다 ... – jjxtra