La Web del Programador: Comunidad de Programadores
 
    Pregunta:  56367 - PAGINACION SQL SERVER
Autor:  Diego Armando Gomez
Como están,

Tratando de resolver el problema de no retornarle a una aplicación una lista de registros que no son necesarios, he encontrado la siguiente manera de pedirle al motor de SQL solamente un intervalo de registros específicos:

SELECT * FROM
(SELECT *, ROW_NUMBER() OVER(ORDER BY SortOrder) as Numero From MenuItem) Temp
WHERE Numero > 5 AND Numero < 15

El problema es el “ORDER BY” que es utilizado, no estoy seguro si este provoca una sobrecarga en el proceso para mi motor de datos cuando se trate de muchos registros.

Por otro lado, existe otra manera de de hacerlo sin necesidad de utilizar Store Procedures?

Gracias.

  Respuesta:  Olibert Garcia
Hola:

Revisa en este link hay varias formas de paginar... me parece que usando las funciones de ranking es mas optimo

http://www.elguille.info/colabora/NET2006/sqlranger_PaginacionSqlServer.htm

Saludos!