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

Problemas de eficiencia con GridView + procedimiento almacenado

Estas en el tema de Problemas de eficiencia con GridView + procedimiento almacenado en el foro de ASPX (.net) en Foros del Web. Hola estoy desarrollando una aplicacion web con una capa de acceso a datos. O sea tengo la aplicacion web + una capa intermedia que encapsula ...
  #1 (permalink)  
Antiguo 06/05/2009, 15:00
 
Fecha de Ingreso: mayo-2009
Mensajes: 2
Antigüedad: 15 años
Puntos: 0
Problemas de eficiencia con GridView + procedimiento almacenado

Hola estoy desarrollando una aplicacion web con una capa de acceso a datos.
O sea tengo la aplicacion web + una capa intermedia que encapsula la ejecucion de procedimientos almacenados en la base de datos + base de datos, con procedimientos almacenados implementados.

Ahora, en la base de datos tengo un gran numero de records.

en la pagina web tengo un gridview que muestra los resultados de una consulta.

O sea el datasource del gridview es el datatable qeu devuelve la ejecucion de un metodo de la capa intermedia, este metodo ejecuta un procedimiento almacenado, y devuelve la tabla con los resultados.
el problema es qeu esta consulta tiene un gran numero de rows, y toda esta informacion se carga en el servidor.

Es cierto qeu el cliente pagina bien con el gridview, y solo muestra los row de una vista, pero en el servidor esta toda esta informacion almacenada, lo cual es bastante ineficiente.

Me gustaria saber si existe alguna via apra evitar esto?

Saludos, Cordiales.
  #2 (permalink)  
Antiguo 06/05/2009, 19:02
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.692
Antigüedad: 23 años, 6 meses
Puntos: 19
Respuesta: Problemas de eficiencia con GridView + procedimiento almacenado

Hola como te va

Si, me paso algo similar. Cuando tenes muchos datos para mostrar a veces no se soluciona con paginar una grilla, porque lo mismo estas trayendo muchos datos una vez desde la base de datos.

Por las dudas y sino usas procedimientos almacenado, el uso del mismo te pueden ayudar mucho. Otra cosa también es usar indices, estas cositas pueden mejorar mucho el rendimiento.

Si estas usando sql server 2005 o 2008 tiene una solución muy buena para esto, porque traen una funcion "row_numbers" que te permiten traer solamente los registros que queres mostrar para una página de la grilla, así de esta forma no necesitas traer mil registros sino los 20 o 10 que vas a mostrar en una grilla, acá tenes un ejemplo de tantos que podes encontrar:
http://weblogs.asp.net/scottgu/archi...07/434787.aspx

Si no estás usando sql server podes de alguna forma de imitar lo anterior, es decir, de alguna forma no traer todos los registros, sino solo los que mostra en una página.
__________________
PD: Con amor, fe, amor a Dios y amistad podemos hacer un mundo mejor!!!!
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 09:19.