which is the optimized way for server-side pagination in SQL using DENSE_RANK() or OFFSET?
OFFSET Query:
- SELECT * FROM Tbl_Employee OFFSET @PageSize * (@Page - 1) ROWS
- FETCH NEXT @PageSize ROWS ONLY OPTION (RECOMPILE);
DENSE_RANK():
- SELECT *
- FROM (
- SELECT DENSE_RANK() OVER (ORDER BY FullName ASC) AS RowNo,* FROM Tbl_Employee
- ) TAB
- WHERE RowNo >= 1 and RowNo <= 10
- ORDER BY 2 ASC;