Discussion:
Paginacion de Recordset
(demasiado antiguo para responder)
Waldo
2008-11-18 15:51:56 UTC
Permalink
Hola gente, uso SQL 2000 tengo que realizar una paginacion de un listado de
eventos.
Segun sus experiencias que me recomiendan...

Hacer la paginacion con procedimientos almacenados, pasando un

SELECT TOP cant_reg WHERE ID_ev > X y ID_ev < Y

O usar la paginacion directamente en el recordset ADO, usando PageSize,
CacheSize y PageCount

La verdad no le tengo mucha fe al recordset, si por ej la consulta devuelve
5000 ev, y mi pagina es de 100 ev, por la red solo viajaran 100 ev ?


Saludos

Waldo
Carlos Sacristan
2008-11-18 16:29:02 UTC
Permalink
Yo me fiaría más de los procedimientos almacenados que no de esas
propiedades...
--
--
Un saludo
-------------------------------
www.navento.com
Servicios de Localización GPS
Post by Waldo
Hola gente, uso SQL 2000 tengo que realizar una paginacion de un listado de
eventos.
Segun sus experiencias que me recomiendan...
Hacer la paginacion con procedimientos almacenados, pasando un
SELECT TOP cant_reg WHERE ID_ev > X y ID_ev < Y
O usar la paginacion directamente en el recordset ADO, usando PageSize,
CacheSize y PageCount
La verdad no le tengo mucha fe al recordset, si por ej la consulta devuelve
5000 ev, y mi pagina es de 100 ev, por la red solo viajaran 100 ev ?
Saludos
Waldo
Alfredo Novoa
2008-11-18 16:38:20 UTC
Permalink
Post by Waldo
Hacer la paginacion con procedimientos almacenados, pasando un
SELECT TOP cant_reg WHERE ID_ev > X y ID_ev < Y
Puedes crear una funcion que te devuelva una consulta de este estilo y te
ahorras el tener que crear varios procedimientos almacenados por cada tabla
y vista.
Post by Waldo
O usar la paginacion directamente en el recordset ADO, usando PageSize,
CacheSize y PageCount
Lo malo de esto es que supongo que el SQL Server te materializa toda la
consulta aunque vayas a traerte unas pocas filas.


Saludos
Gustavo Larriera (MVP)
2008-11-18 17:29:02 UTC
Permalink
Personalmente prefiero paginar del lado del servidor.

Si quiere algunas ideas de cómo se podía hacer en el viejo y querido SQL
Server 2000, puede mirar este artículo:

Efficient and DYNAMIC Server-Side Paging with SQL Server 2000
http://weblogs.sqlteam.com/jeffs/archive/2004/03/22/1085.aspx

Le recomiendo leer todos los comentarios que siguen al artículo.
--
Gustavo Larriera, Microsoft MVP
http://www.linkedin.com/in/gustavolarriera
--
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.
Post by Waldo
Hola gente, uso SQL 2000 tengo que realizar una paginacion de un listado de
eventos.
Segun sus experiencias que me recomiendan...
Hacer la paginacion con procedimientos almacenados, pasando un
SELECT TOP cant_reg WHERE ID_ev > X y ID_ev < Y
O usar la paginacion directamente en el recordset ADO, usando PageSize,
CacheSize y PageCount
La verdad no le tengo mucha fe al recordset, si por ej la consulta devuelve
5000 ev, y mi pagina es de 100 ev, por la red solo viajaran 100 ev ?
Saludos
Waldo
Waldo
2008-11-18 18:34:40 UTC
Permalink
Gustavo, Carlos y Alfredo, gracias por responder,

Si, esa es la duda que tengo, supongo que para paginar en el Rst, primero el
servidor debe entregar todo el conjunto de resultados.

Gustavo, ya habia pasado por esa pagina, no lei todos los comentarios, pero
veo que usa SET ROWCOUNT, que tengo entendido que no es muy recomendado su
uso.

Loading...