Ver Mensaje Individual
  #3 (permalink)  
Antiguo 20/10/2009, 10:56
BelSeBuuu
 
Fecha de Ingreso: octubre-2009
Mensajes: 3
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Paginando 4 millones de registros

el definir criterios tambien podia ser una buena opcion, pero no se me dio la posibilidad de esto, ya que en algun momento podria darse el caso de que la consulta traiga los 4 millones de registros.

recien vino un familiar y dio esta posibilidad:

DECLARE @lastoffset int,@page int, @limit int, @offset int
SELECT @page = 1
SELECT @limit = 15
SELECT @offset = ((@page-1)*@limit)
SELECT @lastoffset = @offset+1
SET ROWCOUNT @lastoffset
DECLARE @FECHA VARCHAR(18)
SELECT @FECHA = CONVERT(VARCHAR,FECHA,102) + RIGHT(REPLICATE('0', 8) + CAST(ID_AUD AS VARCHAR(8)), 8) FROM auditbd ORDER BY CONVERT(VARCHAR,FECHA,102) + RIGHT(REPLICATE('0', 8) + CAST(ID_AUD AS VARCHAR(8)), 8) DESC
SET ROWCOUNT @limit
SELECT * FROM auditbd WHERE CONVERT(VARCHAR,FECHA,102) + RIGHT(REPLICATE('0', 8) + CAST(ID_AUD AS VARCHAR(8)), 8) <= @FECHA ORDER BY CONVERT(VARCHAR,FECHA,102) + RIGHT(REPLICATE('0', 8) + CAST(ID_AUD AS VARCHAR(8)), 8) DESC;


aca la misma sentencia me envia ya los datos paginados.
en breves instantes comento como me fue con la consulta.