Foros del Web » Programando para Internet » ASP Clásico »

Retardo en leer registros

Estas en el tema de Retardo en leer registros en el foro de ASP Clásico en Foros del Web. Tengo un problema, acabo de hacer una web sobre un restaurante, el problema es que tengo un libro de visitas que funcina perfectamente, págino los ...
  #1 (permalink)  
Antiguo 03/05/2004, 09:33
Avatar de pempas  
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 985
Antigüedad: 21 años, 4 meses
Puntos: 6
Pregunta Retardo en leer registros

Tengo un problema, acabo de hacer una web sobre un restaurante, el problema es que tengo un libro de visitas que funcina perfectamente, págino los resultados de 10 en 10, pero ahora me a dado por probar como reaccionaría si tuviese 16000 firmas, y cual es la sorpresa que me tarda más de 60 segundos en mostrar el resultado paginado.

¿Como podría hacer el código para que fuese más rápido?

Cuelgo el código.

***********************************************
NumPerPage = 10
Set oConn1 = Server.CreateObject("ADODB.Connection")
SQL="Select * From libro Order By fecha DESC"

oConn1.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../../data/libro.mdb"), 2, 1

set RS1 = Server.CreateObject("ADODB.Recordset")

'Comienza la paginación

RS1.CursorLocation = 3
RS1.CacheSize = NumPerPage
RS1.Open SQL, oConn1
If Not RS1.EOF Then
RS1.MoveFirst
End If
RS1.PageSize = NumPerPage
'Asignamos el número máximo de página
TotalPagina = RS1.PageCount
If Not RS1.EOF Then
RS1.AbsolutePage = Pagina
End If
'Ponemos la cuenta a cero
Cuenta = 0
********************************************

Gracias por adelantado.

Saludos
  #2 (permalink)  
Antiguo 03/05/2004, 09:45
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 23 años, 5 meses
Puntos: 0
probaste usando getrows?

http://www.aspfacil.com/articulos/110201.asp
http://www.aspfacil.com/codigo/grpaginar.asp

saludos
  #3 (permalink)  
Antiguo 04/05/2004, 06:31
Avatar de pempas  
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 985
Antigüedad: 21 años, 4 meses
Puntos: 6
Acabo de probarlo y la verdad es que me tarda exactamente lo mismo, bueno para ser más precisos con el método de RS.EOF, me tarda 53 seg. y con GetRows, 51

No gano nada, ¿Otro método?, ¿Cómo leches se paginan estos foros?, también tienen mogollón de registros.

Gracias bakanzipp

Salu2
  #4 (permalink)  
Antiguo 04/05/2004, 07:57
Avatar de parentesys  
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 235
Antigüedad: 21 años, 7 meses
Puntos: 0
Un consejo,

cuando quieras recuperar un recordset que va a contener muchos registros, nunca pongas Select *, pon el nombre de los campos que quieres recuperar porque cuando pones * tarda mucho más...
Por ejemplo, SELECT campo1, campo2, campo3, ..... FROM tabla
WHERE ......



Saludos
__________________
Administrador de :
givemefun.net
givemefun.org
  #5 (permalink)  
Antiguo 04/05/2004, 09:17
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 23 años, 3 meses
Puntos: 1
Xactamente.
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net
  #6 (permalink)  
Antiguo 04/05/2004, 09:49
Avatar de pempas  
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 985
Antigüedad: 21 años, 4 meses
Puntos: 6
¿¿Y si necesito todos los registros??, ¿tardará igual?
  #7 (permalink)  
Antiguo 04/05/2004, 11:54
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 23 años, 3 meses
Puntos: 1
No es lo mismo campos que registros, naturalmente al aumentar el numero de cualquiera de ellos aumenta el retardo, pero lo normal es tener unos 5 campos y cientos de registros.
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net
  #8 (permalink)  
Antiguo 04/05/2004, 12:51
Avatar de pempas  
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 985
Antigüedad: 21 años, 4 meses
Puntos: 6
Realmente si quito un par de campos si que va un poco más rápido, exactamente 32 seg, ya hemos ganado unos 20, pero, lo que yo pregunto ahora es,

¿nadie a inventado otro sistema para repartir los campos en diferentes vectores para que vaya aún más rápido?, tiene que haber otra forma.
  #9 (permalink)  
Antiguo 04/05/2004, 14:51
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 23 años, 3 meses
Puntos: 1
El problema realmente no es de ASP en si, es del servidor, del tiempo que tarda en leer la base de datos y confeccionar el HTML que devuelve a tu navegador, el secreto seria tener un servidor lo mas potente posible (multiprocesador, mucha RAM, T1), con el menor numero de conexiones concurrentes y un base de datos ORACLE u otras mas profesionales que access, ellas mejoran en rendimiento.

Yo mas bien optaria por que ese servidor no es muy "potente", yo tengo un par de tiendas virtuales con unos 1200 productos y en la paginacion completa en bloques de 5 peoductos me tarda apenas 3 o 5 segundos en devolver un resultado paginado.
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net

Última edición por maestro; 04/05/2004 a las 14:54
  #10 (permalink)  
Antiguo 05/05/2004, 02:40
Avatar de parentesys  
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 235
Antigüedad: 21 años, 7 meses
Puntos: 0
Otra cosa que puedes hacer es crear índices de las claves ajenas...

Así te va a ir más rápido...
__________________
Administrador de :
givemefun.net
givemefun.org
  #11 (permalink)  
Antiguo 05/05/2004, 04:15
Avatar de pempas  
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 985
Antigüedad: 21 años, 4 meses
Puntos: 6
Ok, por ahora ya voy haciendo pinitos, la verdad es que el servidor que tengo para probar es un PIII a 450Mhz, con 128 de Ram, así que tampoco se pueden hacer milagros.

Igualmente, ¿para pasar la base de datos a SQL Server?, ¿Sabeis algun tutorial o hilo que esté bien?, ¿Creo que la forma de enlazar no es muy diferente a Access no?

Saludos
  #12 (permalink)  
Antiguo 05/05/2004, 04:29
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 23 años, 3 meses
Puntos: 1
AJJJJJJJJJJJ!!!, Ahora entiendo lo del retardo

Si quieres usar aplicaciones de hoy en dia con velocidades de hoy en dia no lo pruebes en un ordenador de hace 6 años con un S.O. y un servidor web de la misma epoca.

Ponlo en un pentium IV a 3 GHZ con 512 de RAM (que es lo que se vende ahora como ordenador medio) y veras como la cosa cambia.

Con esa maquina no puedes pretender rendimiento, te sirve para hacer experimentos y aprender pero nada mas.
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:20.