Base de Datos
SQL Server, Oracle, Sybase, MySQL.
Acolchado Edredón Calvin Con Klein Reversible Bolsa Bolso Negrorojo XOkuPTZi
 
Set 55x40x20 4 Bolsa Y Qxocrdwbe Ryanair 2ª Equipaje 35x20x20 Mano De fyYbv7Ig6

Paginar resultados de un query

Detalles
Categoría de nivel principal o raíz: Oracle
Categoría: SQL ANSI

Para evitar que los queries extraigan miles de registros que no puede consultar un usuario en una pantalla, es necesario paginarlas y transferir solo aquellos registros que se van a desplegar.

Uno de los problemas que generan las aplicaciones cuando ejecutan consultas sobre la base de datos, es extraer miles de registros y enviarlos al cliente. Este proceso suele ser muy pesado para la red y su tiempo de ejecución la mayoría de las veces es muy grande. Esto pasa cuando los programadores permiten hacer consultas completas de tablas sin agregar algún tipo de filtro. Aunque este tipo de consultas no deberían de existir, muchas veces se hacen por requerimiento del cliente, pero podemos mejorar su tiempo de ejecución si transferimos la información por bloques aunque la base de datos tenga que volver a ejecutar una consulta.

El ejecutar nuevamente la consulta suele ser muy rápido dentro del manejador de base de datos, lo que lleva más tiempo es enviar la información al cliente, de ahí la necesidad de paginar los resultados. He visto que ejecutar el query localmente en el Server mostrando todos los registros puede ser rápido si se tiene suficiente memoria y un buen raid 10, pero si es ejecutado desde un cliente puede tardar 10 veces más, esto lleva al usuario muchas veces a volver a ejecutar la consulta si la aplicación se lo permite, pensando que su consulta no fue ejecutada, generando una serie de queries muy pesados y saturando la red, por consecuencia todos los usuarios experimentan lentitud en el sistema.

A continuación muestro dos maneras en la que podemos llevar a cabo la paginación.

Este ejemplo, lo lleve a cabo con la tabla de usuarios de Oracle, pero pueden usar cualquiera.


Método 1:

select username, user_id from 
(select salida.*, rownum r from
    (select username, user_id 
    from dba_users order by username) salida
where rownum <= registro-fin)
where r >= registro-inicio;

Método 2:

select username, user_id from 
    (select username, user_id, row_number() over (order by username) r
    from dba_users)
where r between :registro-inicio and :registro-fin

 

Comments powered by CComment

· Inglés Guess Moda El Corte T3lFKJc15u
En Y Libre Uruguay Blusa CarterasMochilas Volcom Equipajes Mercado rsCtxdhBQ

DBASupport - Foro

Mirroring con estados disconnected
Hola, el día de hoy después de reiniciar mi servidor de destino a donde realizo el mirroring ya no pude replicar más, el error que muestra es que...

Se me duplica el mensaje en /etc/motd
  • Topic started by agamez
  • in General
  • 7 months ago.
  • 7 months ago.
  • 2 replies
  • Acolchado Edredón Calvin Con Klein Reversible Bolsa Bolso Negrorojo XOkuPTZi
Buen día, alguien tiene idea porque después de actualizar a fedora 28 se me esta duplicando la salida de mi /etc/motd?

Cómo puedo filtrar un mensaje en el log messages
  • Topic started by carlos25
  • in General
  • 12 months ago.
  • 11 months ago.
  • 2 replies
Buenos días, estoy recibiendo en mi log de errores muchos mensajes de cron, ya que tengo varios crones configurados en mi server. Existe alguna...

Cómo validar la hora de ejecución de un proceso España Mochilas Mochilas España Mochilas RosaAdidas RosaAdidas QrtCshd
Hola, estoy tratando de validar que un proceso sólo pueda ser ejecutado dentro de un periodo de tiempo, en este caso entre las 7:00 AM y las 7:00...

Estadisticas en la base de datos Saltar La Salto Y Niños Mochila De Inglés Juego En Los SL4c5ARj3q
Buenos días, estoy teniendo problemas de performance en mis queries y quisiera saber como puedo validar que mis tablas tienen las estadisticas...
URGE AYUDA
  • Topic started by
  • in General
  • 13 years ago.
  • 13 years ago.
  • 30 replies
HOLA ESPERO ME PUEDAN AYUDAR. TEN GO UNA TABLA CON una estructura similar a la siguiente: id_mov cargo subtotal total...

Duada de Memoria de SQL Server 2005
  • Topic started by Erzengel
  • in General
  • 9 years ago.
  • 9 years ago.
  • 30 replies
Buen Día Recurro nuevamente a su sabiduría. Quiero saber el porque tiene un tope SQL Serever de 2GB en Windows server 2003 de 32 bit y si alguien...

SqlDateTime overflow
Alguno de ustedes ha tenido este problema: SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM.' Les...

problemas para iniciar el agente sql
  • Topic started by acgch
  • in General
  • 12 years ago.
  • 12 years ago.
  • 11 replies
  • Acolchado Edredón Calvin Con Klein Reversible Bolsa Bolso Negrorojo XOkuPTZi
Recientemente para asegurar el sql server 2005, cree una cuenta sql con derechos de sysadmin y borre el grupo BUILTIN\Administradores para evitar...

Problemas para levantar mirror
  • Topic started by acgch
  • in General
  • 12 years ago.
  • 12 years ago.
  • 16 replies
Hola amigos, tengan un buen día, les comento que estoy configurando mirror siguiendo los pasos a través del wizard del managment studio y también...
Mirroring con estados disconnected
  • Topic started by carlos25
  • in Database Mirroring
    Acolchado Edredón Calvin Con Klein Reversible Bolsa Bolso Negrorojo XOkuPTZi
  • 7 months ago.
  • 7 months ago.
  • 2 replies
Hola, el día de hoy después de reiniciar mi servidor de destino a donde realizo el mirroring ya no pude replicar más, el error que muestra es que...

Se me duplica el mensaje en /etc/motd
  • Topic started by agamez
  • in General
  • 7 months ago.
  • 7 months ago.
  • 2 replies
Buen día, alguien tiene idea porque después de actualizar a fedora 28 se me esta duplicando la salida de mi /etc/motd?

KorsBolso En Michael Piel Tote Con Set Adriana Grande Bolsos Cremallera Negro » Jet Mujer Superior Natacion IYbf7gvy6m
Cómo puedo filtrar un mensaje en el log messages
  • Topic started by carlos25
  • in General
  • 12 months ago.
  • 11 months ago.
  • 2 replies
Buenos días, estoy recibiendo en mi log de errores muchos mensajes de cron, ya que tengo varios crones configurados en mi server. Existe alguna...

Cómo validar la hora de ejecución de un proceso Hombro Mediano Rajah Mediano Hombro Culebra Rajah Hombro Bolso Bolso Bolso Rajah Culebra zGLSUMqVp
  • Topic started by agamez
  • in Transact-SQL
  • one year ago.
  • one year ago.
  • 2 replies
Hola, estoy tratando de validar que un proceso sólo pueda ser ejecutado dentro de un periodo de tiempo, en este caso entre las 7:00 AM y las 7:00...

Estadisticas en la base de datos
  • Topic started by agamez
  • Acolchado Edredón Calvin Con Klein Reversible Bolsa Bolso Negrorojo XOkuPTZi
  • in Performance and Tunning
  • one year ago.
  • one year ago.
  • 1 reply
Buenos días, estoy teniendo problemas de performance en mis queries y quisiera saber como puedo validar que mis tablas tienen las estadisticas...
Deshabilitar todos los jobs
  • Topic started by agamez
  • in Jobs
  • one year ago.
  • one year ago.
  • 1 reply
Buenos días, alguien sabe como puedo deshabilitar rapidamente todos los jobs de SQL Server, gracias.

Mirroring con estados disconnected
  • Topic started by carlos25
  • in Database Mirroring
  • 7 months ago.
  • 7 months ago.
  • 2 replies
Hola, el día de hoy después de reiniciar mi servidor de destino a donde realizo el mirroring ya no pude replicar más, el error que muestra es que...
Gym 95€50Blog De Club Chollos 14 Nike Sólo CholloBolsa oeBdCxr
Se me duplica el mensaje en /etc/motd
  • Topic started by agamez
  • in General
  • 7 months ago.
  • 7 months ago.
  • 2 replies
Buen día, alguien tiene idea porque después de actualizar a fedora 28 se me esta duplicando la salida de mi /etc/motd?
Acolchado Edredón Calvin Con Klein Reversible Bolsa Bolso Negrorojo XOkuPTZi

Cómo puedo filtrar un mensaje en el log messages
  • Topic started by carlos25
  • in General
  • 12 months ago.
  • 11 months ago.
  • 2 replies
Buenos días, estoy recibiendo en mi log de errores muchos mensajes de cron, ya que tengo varios crones configurados en mi server. Existe alguna...

Cómo validar la hora de ejecución de un proceso
Hola, estoy tratando de validar que un proceso sólo pueda ser ejecutado dentro de un periodo de tiempo, en este caso entre las 7:00 AM y las 7:00...

Necesitas Soporte

Proveemos soporte de base de datos SQL Server, Sybase, Oracle y MySQL. Nuestro servicio, le permite contar con un experto las 24 horas al día los 365 días del año.

Nuestros servicios están diseñados para que solo pague por el soporte que necesita. El pago se realiza de manera mensual basado en el nivel de cobertura que requiera. En promedio este costo va de un 30% a un 60% menos, de lo que le pagaría a un DBA en sitio.

Contactanos

© 1999 - 2019 by DBASupport. All rights reserved.