Foros del Web » Programando para Internet » ASPX (.net) »

Primera consulta en pagina asp.net y ado.net muy lenta

Estas en el tema de Primera consulta en pagina asp.net y ado.net muy lenta en el foro de ASPX (.net) en Foros del Web. Soy nuevo desarrollando en asp.net conectando a SqlServer, tengo una página web que consulta un registro en dos tablas relacionadas tipo encabezado detalle. La clave ...
  #1 (permalink)  
Antiguo 18/03/2010, 15:54
 
Fecha de Ingreso: marzo-2010
Mensajes: 1
Antigüedad: 14 años, 8 meses
Puntos: 0
Primera consulta en pagina asp.net y ado.net muy lenta

Soy nuevo desarrollando en asp.net conectando a SqlServer, tengo una página web que consulta un registro en dos tablas relacionadas tipo encabezado detalle.
La clave a buscar es ingresada en un campo textbox y utilizo sqlconnection, dataadapter y datatable.
El dataadapter convierte a parámetro de busqueda el dato digitado en el textbox y realiza el query a la base de datos.
La página web es solo de lectura por lo que decidí llenar la información en una datatable y mostrar los datos en un elemento tipo grid.
Publiqué la consulta en mi PC con IIS 5.1 sobre Windows XP Pro.
Sucede que siempre la primer consulta tarda hasta 5 segundos para mostrar información, luego de esta primer consulta, si consulto cualquier otro valor, la respuesta es en menos de un segundo.
Si salgo de la página y vuelvo a entrar y hago una consulta, vuelve a tardarse 5 segundos para mostrarme información, después de esta primer consulta, las siguientes son sumamente rápidas.
¿Qué podrá estar sucediendo?
Gracias por la ayuda.
  #2 (permalink)  
Antiguo 18/03/2010, 16:21
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 9 meses
Puntos: 772
Hola JuanFuentesGt

Deberías poner tus mensajes en el foro que más se adapte a tu duda. Muevo tu tema al foro de ASPX (.net) desde Web general.

Saludos,
  #3 (permalink)  
Antiguo 18/03/2010, 17:55
 
Fecha de Ingreso: marzo-2010
Mensajes: 7
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Primera consulta en pagina asp.net y ado.net muy lenta

Eso ocurre normalmente, porque las queries a base de datos se guardan en una especie de caché, de modo que si accedes a la misma tabla o consulta una vez que ya se ha abierto la conexión, los datos serán recuperados más rapidamente...

Ahora, no me manejo tanto en el tema, por lo que no estoy seguro de si esa "caché" de queries es algo automático de la conexión, del motor de base de datos o del servidor web, pero lo que si tengo claro es que es necesario que hagas tu consulta cuidando que sea lo más rapida y eficiente posible, de modo de ahorrar tiempo...

No se si exista algo mas tecnico o especifico para mejorar lo q dices, al menos yo no lo sé
  #4 (permalink)  
Antiguo 20/10/2010, 13:30
 
Fecha de Ingreso: mayo-2008
Mensajes: 353
Antigüedad: 16 años, 6 meses
Puntos: 3
Respuesta: Primera consulta en pagina asp.net y ado.net muy lenta

Cita:
Iniciado por guidze Ver Mensaje
Eso ocurre normalmente, porque las queries a base de datos se guardan en una especie de caché, de modo que si accedes a la misma tabla o consulta una vez que ya se ha abierto la conexión, los datos serán recuperados más rapidamente...

Ahora, no me manejo tanto en el tema, por lo que no estoy seguro de si esa "caché" de queries es algo automático de la conexión, del motor de base de datos o del servidor web, pero lo que si tengo claro es que es necesario que hagas tu consulta cuidando que sea lo más rapida y eficiente posible, de modo de ahorrar tiempo...

No se si exista algo mas tecnico o especifico para mejorar lo q dices, al menos yo no lo sé
"de modo que si accedes a la misma tabla o consulta una vez que ya se ha abierto la conexión, los datos serán recuperados más rapidamente..."

Podrias explicarme como acceder a los datos sin abrir la conexion
  #5 (permalink)  
Antiguo 20/10/2010, 21:14
 
Fecha de Ingreso: octubre-2010
Mensajes: 4
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Primera consulta en pagina asp.net y ado.net muy lenta

Hola, por lo que veo estás utilizando para bindear tus datos un elemento de tipo GridView, al cual le asignás seguramente como DataSource el DataTable y luego llamás al método DataBind()
para traerte los datos de la base y mostrarlos en la grilla.
Algo muy interesante es que estos controles están optimizados, esto es, si "se dan cuenta" que están pidiendo datos similares no hacen toda la consulta a la base y parecería que fuera más rápida la respuesta, no es que no hay conexión a la base, ahora si vos cambiás el texto del textbox que usas en tu query tiene que impactar en la base.
Lo de "acceder a los datos sin abrir la conexión" como vos decís no es posible, lo que sí se puede hacer dado la forma y los controles con los que trabajás es abrir la conexión, llenar el datatable con el dataadapter, bindear contra el gridview y cerrar la conexión.
Te repito, con las herramientas que vos usás, si te decidís por un ORM la manera en que se gestiona es 1 poco diferente.
Espero haberte ayudado.
Saludos!

Etiquetas: lenta, primera, aspx
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 08:52.