Jeg stødte på nogle præstationsproblemer ved at bruge COUNT() OVER()-metoden. (Jeg er ikke sikker på, om det var serveren, da det tog 40 sekunder at returnere 10 poster og så senere ikke havde nogen problemer). Denne teknik fungerede under alle forhold uden at skulle bruge COUNT( ) OVER() og opnår det samme:
DECLARE
@PageSize INT = 10,
@PageNum INT = 1;
WITH TempResult AS(
SELECT ID, Name
FROM Table
), TempCount AS (
SELECT COUNT(*) AS MaxRows FROM TempResult
)
SELECT *
FROM TempResult, TempCount
ORDER BY TempResult.Name
OFFSET (@PageNum-1)*@PageSize ROWS
FETCH NEXT @PageSize ROWS ONLY