Que es mejor para "paginar"???

27/09/2006 - 21:08 por Manuel Vera | Informe spam
Hola

Me gustaria conocer sus opiniones acerca de cual es la mejor forma de
páginar un recordset que debe ser mostrado via web.

1.- Utilizar ADO para paginar el recordset: PageSize, PageAbsolute, etc

2.- Paginar por codigo VBScript

3.- Paginar internamente en un stored procedure

Basicamente, entre 1 y 3, ¿hay diferencias notables?

Gracias

Preguntas similare

Leer las respuestas

#1 Matias Iacono
27/09/2006 - 21:42 | Informe spam
Pongo mi opinion en base al nivel que creo es mejor (De arriba a abajo, de
mejor a peor)

1 - Paginar en procedimiento almacenado
2 - Paginar en el recordset
3 - Paginar por codigo

Claro esta que el uso de PA (Procedimientos almacenados), no en todos los
motores de bases de datos funcionan o tienen las mismas caracteristicas.
Ademas, el mal uso de estos puede traer mas problemas que soluciones.

Lo malo de pagina en el recordset es que nos guste o no, tenemos que hacer
una "macro consulta" a la base de datos. Esto es, si tenemos 100 registros,
los trae a todos para luego hacer la paginacion. Y claro esta, que en ASP,
cada vez que se termina de cargar la pagina, los demas registros que no se
mostraron, simplemente quedan inutilizados. (Pensemos en 10.000 registros,
por ejemplo)

En la tercera, si traemos los 10.000 registros, y ademas tenemos que hacer
un bucle para colocarnos (por codigo) en los unicos 10 (por ejemplo) que
queremos mostrar, posiblemente los primeros 20 tengan el mismo efecto que
usar ADO, pero que pasaria con los ultimos 9990? Tendriamos que hacer un
bucle hasta el final para poder conseguirlos :S

En todo caso, si queremos usar esta ultima forma, seria conveniente tener en
nuestra tabla, algun tipo de indexador (creo que se aplica a el 1 y el 3),
para hacer un select usando un rango basados en este indice. Y asi solo traer
los datos que se requieren y no tener que "escarbar" entre miles de registros.

Saludos.

Microsoft MVP
Orador Regional INETA


"Manuel Vera" wrote:

Hola

Me gustaria conocer sus opiniones acerca de cual es la mejor forma de
páginar un recordset que debe ser mostrado via web.

1.- Utilizar ADO para paginar el recordset: PageSize, PageAbsolute, etc

2.- Paginar por codigo VBScript

3.- Paginar internamente en un stored procedure

Basicamente, entre 1 y 3, ¿hay diferencias notables?

Gracias



Respuesta Responder a este mensaje
#2 Jose A. Fernandez
29/09/2006 - 02:33 | Informe spam
Estaba leyendo el post y se me vino a la mente este articulo de Jesús
López
http://www.elguille.info/colabora/N...Server.htm
se trata de implementar paginacion en la DB y da ejemplo de esto en
SQL2000 y SQL2005

Espero que te sirva como ejemplo...dale una mirada

____________________
Jose A. Fernandez


Matias Iacono wrote:
Pongo mi opinion en base al nivel que creo es mejor (De arriba a abajo, de
mejor a peor)

1 - Paginar en procedimiento almacenado
2 - Paginar en el recordset
3 - Paginar por codigo

Claro esta que el uso de PA (Procedimientos almacenados), no en todos los
motores de bases de datos funcionan o tienen las mismas caracteristicas.
Ademas, el mal uso de estos puede traer mas problemas que soluciones.

Lo malo de pagina en el recordset es que nos guste o no, tenemos que hacer
una "macro consulta" a la base de datos. Esto es, si tenemos 100 registros,
los trae a todos para luego hacer la paginacion. Y claro esta, que en ASP,
cada vez que se termina de cargar la pagina, los demas registros que no se
mostraron, simplemente quedan inutilizados. (Pensemos en 10.000 registros,
por ejemplo)

En la tercera, si traemos los 10.000 registros, y ademas tenemos que hacer
un bucle para colocarnos (por codigo) en los unicos 10 (por ejemplo) que
queremos mostrar, posiblemente los primeros 20 tengan el mismo efecto que
usar ADO, pero que pasaria con los ultimos 9990? Tendriamos que hacer un
bucle hasta el final para poder conseguirlos :S

En todo caso, si queremos usar esta ultima forma, seria conveniente tener en
nuestra tabla, algun tipo de indexador (creo que se aplica a el 1 y el 3),
para hacer un select usando un rango basados en este indice. Y asi solo traer
los datos que se requieren y no tener que "escarbar" entre miles de registros.

Saludos.

Microsoft MVP
Orador Regional INETA


"Manuel Vera" wrote:

> Hola
>
> Me gustaria conocer sus opiniones acerca de cual es la mejor forma de
> páginar un recordset que debe ser mostrado via web.
>
> 1.- Utilizar ADO para paginar el recordset: PageSize, PageAbsolute, etc
>
> 2.- Paginar por codigo VBScript
>
> 3.- Paginar internamente en un stored procedure
>
> Basicamente, entre 1 y 3, ¿hay diferencias notables?
>
> Gracias
>
>
>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida