Ciao, stai valutando le nuove funzionalità di SQL2012 in particolare per la paginazione.
Sui blog riportano questa soluzione che mi sembra NON performante, in quanto per ogni record in output sembra che venga eseguita una COUNT(*)
DECLARE
@PageSize INT = 10,
@PageNum INT = 1;
SELECT name, pages_count
= COUNT(*)/@PageSize OVER()
FROM Utenti
ORDER BY name
OFFSET (@PageNum-1)*@PageSize ROWS
FETCH NEXT @PageSize ROWS ONLY;
Allora avrei pensato, questa soluzione :
SELECT name
FROM Utenti
ORDER BY name
OFFSET (@PageNum-1)*@PageSize ROWS
FETCH NEXT @PageSize ROWS ONLY;
SELECT pages_count
= COUNT(*)/@PageSize OVER()
FROM Utenti
Avete suggerimenti ?